Files
C-Plus-Plus/data_structures/stack_using_linked_list.cpp
2020-06-23 16:34:53 -05:00

58 lines
982 B
C++

#include <iostream>
using namespace std;
struct node {
int val;
node *next;
};
node *top_var;
void push(int x) {
node *n = new node;
n->val = x;
n->next = top_var;
top_var = n;
}
void pop() {
if (top_var == NULL) {
cout << "\nUnderflow";
} else {
node *t = top_var;
cout << "\n" << t->val << " deleted";
top_var = top_var->next;
delete t;
}
}
void show() {
node *t = top_var;
while (t != NULL) {
cout << t->val << "\n";
t = t->next;
}
}
int main() {
int ch, x;
do {
cout << "\n1. Push";
cout << "\n2. Pop";
cout << "\n3. Print";
cout << "\nEnter Your Choice : ";
cin >> ch;
if (ch == 1) {
cout << "\nInsert : ";
cin >> x;
push(x);
} else if (ch == 2) {
pop();
} else if (ch == 3) {
show();
}
} while (ch != 0);
return 0;
}