-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstack_practice.cpp
133 lines (116 loc) · 1.82 KB
/
stack_practice.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <iostream>
using namespace std;
#define max 100
int size;
int top = -1;
int arr[max];
bool isEmpty()
{
if (top == -1)
{
return true;
}
else
{
return false;
}
}
bool isFull()
{
if (top == size - 1)
{
return true;
}
else
{
return false;
}
}
void push_var(int var)
{
if (isFull())
{
cout << "Stack is full " << endl;
}
top++;
arr[top] = var;
}
void pop_var()
{
if (isEmpty())
{
cout << "Stack is empty " << endl;
}
int var = arr[top];
top--;
}
int peek()
{
if(isEmpty())
{
cout << "Stack is empty " << endl;
}
return arr[top];
}
void display()
{
if (isEmpty())
{
cout << "Stack is empty " << endl;
}
int i;
cout << "Elements are : ";
for (i = top; i >= 0; i--)
{
cout << arr[i] << " ";
}
}
int main()
{
int choice, var;
int size;
cout << "Enter the size of the stack :" << endl;
cin >> size;
do
{
cout << "\nEnter the choice of operation" << endl;
cin >> choice;
switch (choice)
{
case 1:
{
cout << "Enter the push element : " << endl;
cin >> var;
push_var(var);
break;
}
case 2:
{
cout << "Elements are deleted " << endl;
pop_var();
break;
}
case 3:
{
cout << "Top Element : ";
peek();
break;
}
case 4:
{
display();
break;
}
case 5:
{
exit(0);
}
default:
{
cout << "Enter the valid operand " << endl;
break;
}
}
}while (4);
return 0;
}