0% found this document useful (0 votes)
25 views3 pages

Stack

This C++ program implements a stack data structure using a class. The stack class contains methods to push and pop elements onto the stack, check if the stack is empty, get the size of the stack, and print the stack size and elements. The main function contains a menu loop that allows the user to push, pop, display and get the size of the stack created by the stack class.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views3 pages

Stack

This C++ program implements a stack data structure using a class. The stack class contains methods to push and pop elements onto the stack, check if the stack is empty, get the size of the stack, and print the stack size and elements. The main function contains a menu loop that allows the user to push, pop, display and get the size of the stack created by the stack class.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

include <stdio.h> #include <conio.h> #include <iostream.h> #include <stdlib.

h> class element { public: int value; element* next; };//class element class stack { public: int size; element* current; stack() { size=0; current=NULL; }//default constructor bool push(int,element*); bool pop(); bool isEmpty(); int getStackSize(); void printStackSize(); void printStackElements(element*); void printStackMenu(); }; bool stack::push(int ele,element* temp) { temp=new element; if(current==NULL) { temp->next=NULL; } else { temp->next=current; } temp->value=ele; current=temp; printf("%d inserted\n\n",ele); size++; return false; } bool stack::pop() { if(isEmpty()) { cout<<"\nStack is Empty\n"; return false;

} else { cout<<"\n Element To POP :"<<current->value; cout<<"\n Before POP"; printStackElements(current); current=current->next; cout<<"\n After POP"; printStackElements(current); size=size--; } return true; } bool stack::isEmpty() { if(getStackSize()==0) return true; return false; } int stack::getStackSize() { return size; }//returns size of the stack void stack::printStackSize() { cout<<"\nThe Size of the Stack:"<<size<<"\n"; }//print the stack size void stack::printStackElements(element* base) { element* curr2; curr2= base; cout<<"\n-----\n"; cout<<"STACK\n"; cout<<"-----\n"; while(curr2!=NULL) { cout<<" |"<<curr2->value<<"|\n"; curr2=curr2->next; } }// print the stack void stack::printStackMenu() { cout<<"Welcome to Stack \n"; cout<<"1.Push an element\n"; cout<<"2.Pop an element\n"; cout<<"3.Display Stack\n"; cout<<"4.Size Of Stack\n"; cout<<"5.Exit\n"; } void main()

{ stack st; char Option=0; int val; while(1) { st.printStackMenu(); cin>>Option; switch(Option) { case '1': cout<<"Enter a Number \n"; cin>>val; st.push(val,st.current); break; case '2': st.pop(); break; case '3': st.printStackElements(st.current); break; case '4': st.printStackSize(); break; case '5': exit(0); break; } } }

You might also like