You can find quality tech news,tricks,study materials etc contact me:facebook.com/ashwin.sunilkumar
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
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment