1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

//////this is Stacks/stack2b.cc #include "mydefs2b.h"
#include <assert.h>
// Linked list implementation of stacks.

node :: node(int d, node* n) {
data = d;
next = n;
}
int Istack :: pop()
{
assert( !isempty() );
int temp = top -> data;
node* oldtop = top;
top = top -> next;
delete oldtop;
return temp;
}
intnode*

// get data
// point to old // unlink old // discard

IMAGE imgs/lec-2003.gif

top

Linked Stack showing effect of push() and pop() operations

16-Mar-98

Page 15

C201/TAM/AGS