Support Me...........

Please support me by giving donation

contact: aswinavofficial@gmail.com


Total Pageviews

Monday, September 1, 2014

C++ program to perform Stack

// Program to implement a Stack #include #include #include using namespace std; 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"; } int 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; } } return 0; } // aiuto

No comments: