Stack With Linked List
Stack With Linked List
head
top 1
1 7 5 2
7
5
2
Stack Operation: List
void push(int x)
{
Node* newNode = new Node();
newNode->set(x)//x=9
If(head==NULL) //empty linked list
{newNode->setNext(NULL);
head = newNode;}
else{
newNode->setNext(head);
head = newNode;}
} head
top 9
7 5 2
7
5
newNode 9
2
push(9)
Stack Operation: List
int pop()
{
if (head==NULL)
{cout<<“empty”;
return;}
else{
int x = head->get();
head = head->getNext(); //store head link to head
return x;}
}
head
1 7 5 2
top 7
5
2
Stack Operation: List
int top()
{
return head->get();
}
int IsEmpty()
{
return ( head == NULL );
}