Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
13 views

Code For Impelementing Stack by Using Linked List

This program implements a stack using a linked list. It defines push, pop, peek and display functions to add and remove elements from the stack and view its contents. The main function uses a menu to allow the user to test the stack operations and view the results.

Uploaded by

Tasneem Kubra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Code For Impelementing Stack by Using Linked List

This program implements a stack using a linked list. It defines push, pop, peek and display functions to add and remove elements from the stack and view its contents. The main function uses a menu to allow the user to test the stack operations and view the results.

Uploaded by

Tasneem Kubra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Write a program to implement stack by using linked list

#include <bits/stdc++.h> //free fuction works under this file


#include<iostream>
void line();
void star();
using namespace std;
struct Node
{
int data;
struct Node* link;
};
struct Node* top;
void push(int data)
{
struct Node* temp;
temp = new Node();
if (!temp)
{
cout << "\nHeap Overflow";
exit(1);
}
temp->data = data;
temp->link = top;
top = temp;
}
int isEmpty()
{
return top == NULL;
}
int peek()
{
if (!isEmpty())
return top->data;
else
exit(1);
}
void pop()
{
struct Node* temp;
if (top == NULL)
{
cout << "\nStack Underflow" << endl;
exit(1);
}
else
{
temp = top;
cout<<top->data<<" has been poped.\n";
top = top->link;
temp->link = NULL;
free(temp);
}
}
void display()
{
struct Node* temp;
if (top == NULL)
{
cout << "\nStack Underflow";
exit(1);
}
else
{
temp = top;
while (temp != NULL)
{
cout << temp->data << " ";
temp = temp->link;
}
}
}
int main()
{
star();
cout<<"Program objective : This program implements Stack by using linked list.\n";
star();
/*cout<<"Enter the value to put in stack : ";
int num;
push(11);
push(22);
push(33);
push(44);
display();
cout << "\nTop element is "
<< peek() << endl;
pop();
pop();
display();
cout << "\nTop element is "
<< peek() << endl;
*/
cout<<"______________Enter 1 To push\n";
cout<<"______________Enter 2 To Pop\n";
cout<<"______________Enter 3 To display\n";
cout<<"______________Enter 0 To exit\n\n";
cout<<"Enter choice : ";
int chk;
cin>>chk;
cout<<endl;
while(chk!=0)
{
if(chk==1)
{
cout<<"---------------Pushing the number--------------\n\n";
cout<<"Enter the number to push in stack : ";
int num;
cin>>num;
push(num);
}
else if(chk==2)
{
cout<<"---------------Poping the number--------------\n\n";
pop();//<<" has been poped.\n";
}
else if(chk==3)
{
cout<<"---------------Displaying the numbers--------------\n\n";
display();
}
else
{
cout<<"\a\nWrong input.";
}
cout<<"\n______________Enter 1 To push\n";
cout<<"______________Enter 2 To Pop\n";
cout<<"______________Enter 3 To display\n";
cout<<"______________Enter 0 To exit\n\n";
cout<<"Enter choice : ";
cin>>chk;
cout<<endl;
}
return 0;
}
void line()
{
for(int i=1; i<45; i++)
{
cout<<"-";
}
cout<<endl;
}
void star()
{
cout<<endl;
for(int i=1; i<37;i++)
{
cout<<"**";
}
cout<<endl;
}

You might also like