Go to the first, previous, next, last section, table of contents.
Stacks are declared as an "abstract" class. They are currently
implemented in any of three ways.
VStack
-
implement fixed sized stacks via arrays.
XPStack
-
implement dynamically-sized stacks via XPlexes.
SLStack
-
implement dynamically-size stacks via linked lists.
All possess the same capabilities. They differ only in constructors.
VStack constructors require a fixed maximum capacity argument.
XPStack constructors optionally take a chunk size argument.
SLStack constructors take no argument.
Assume the declaration of a base element x
.
Stack s; or Stack s(int capacity)
-
declares a Stack.
s.empty()
-
returns true if stack s is empty.
s.full()
-
returns true if stack s is full. XPStacks and SLStacks never become full.
s.length()
-
returns the current number of elements in the stack.
s.push(x)
-
pushes x on stack s.
x = s.pop()
-
pops and returns the top of stack
s.top()
-
returns a reference to the top of stack.
s.del_top()
-
pops, but does not return the top of stack. When large items are held
on the stack it is often a good idea to use
top()
to inspect and use
the top of stack, followed by a del_top()
s.clear()
-
removes all elements from the stack.
Go to the first, previous, next, last section, table of contents.