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 EnumerableStackobjects are a type ofEnumerablePUSH(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 COPYStacka 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.