Stack¶
A Stack
is a collection of any type in kOS. Stacks work according to Last-In first-out principle. It may be useful to contrast
Stack
with Queue
to better understand how both structures work. You can read more about stacks on Wikipedia.
Using a stack¶
SET S TO STACK().
S:PUSH("alice").
S:PUSH("bob").
PRINT S:POP. // will print 'bob'
PRINT S:POP. // will print 'alice'
Structure¶
-
structure
Stack
¶ Members¶ Suffix Type Description All suffixes of Enumerable
Stack
objects are a type ofEnumerable
PUSH(item)
None add item to the top of the stack POP()
any type returns the item on top of the stack and removes it PEEK()
any type returns the item on top of the stack without removing it CLEAR()
None remove all elements COPY
Stack
a new copy of this stack
Note
This type is serializable.
-
Stack:
PUSH
(item)¶ Parameters: - item – (any type) item to be added
Adds the item to the top of the stack.
-
Stack:
POP
()¶ Returns the item on top of the stack and removes it.
-
Stack:
PEEK
()¶ Returns the item on top of the stack without removing it.
-
Stack:
CLEAR
()¶ Removes all elements from the stack.