Stacks CS240 CS341 Dick Steflik Stacks Last In

  • Slides: 6
Download presentation
Stacks CS-240 & CS-341 Dick Steflik

Stacks CS-240 & CS-341 Dick Steflik

Stacks • Last In, First Out operation - LIFO • As items are added

Stacks • Last In, First Out operation - LIFO • As items are added they are chronologically ordered, items are removed in reverse chronological order (newest first)

Applications • reversing the items in a list • returning from a subroutine in

Applications • reversing the items in a list • returning from a subroutine in programming languages • evaluation of postfix expressions • converting infix expressions to postfix

Normal methods • constructor - create and initialize a stack object • copy constructor

Normal methods • constructor - create and initialize a stack object • copy constructor - create a stack object that is a duplicate of another existing stack object (this method needed to insure correct value semantics) • overloaded assignment operator - assign the value of an existing stack object (a) to another existing stack object (b) so that the result is that b is a duplicate of a (this method needed to insure correct value semantics) • destructor - destroy a stack object by returning any of its dynamic storage back to the heap and setting its static elements to NULL or zero

Methods • push - add an item (as the most recent) • pop -

Methods • push - add an item (as the most recent) • pop - delete the most recently added item • pull - return the value of the most recently added item then delete the item • is. Empty - return false/true depending if the stack is empty; true if it is, false otherwise

Private data strategies • use an array to hold items and use an int

Private data strategies • use an array to hold items and use an int as an index for the array to indicate where the next item is to go • same as above, but use a dynamic array • use a struct to define a node and add nodes dynamically as they are needed; use one static pointer to a node at point at most recently added item(top of stack)