-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstack.c
164 lines (131 loc) · 2.82 KB
/
stack.c
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#include <stdio.h>
#include <conio.h>
int stack[5];
int top = -1;
// Declaring isFull function
void isFull()
{
if (top==4)
{
printf("The stack is full.\n");
}
else
{
printf("The stack is not full.\n");
}
}
// Declaring isEmpty function
void isEmpty()
{
if (top==-1)
{
printf("The stack is empty.\n");
}
else
{
printf("The stack is not empty.\n");
}
}
// Declaring peek function
void peek()
{
if(top==-1)
{
printf("The stack is empty.\n");
}
else
{
printf("The top element is %d",stack[top]);
}
}
// Declaring display function
void display()
{
if (top==-1)
{
printf("The stack is empty.\n");
}
else
{
int i;
for(i=top;i>=0;i--)
{
printf("%d \t",stack[i]);
}
printf("\n");
}
}
// Declaring push function
void push()
{
if ( top==4 )
{
printf("Overflow condition.\n");
}
else
{
top++; // Incrementing top by 1 index
printf("Enter the number that you want to insert in the stack \n");
scanf("%d",&stack[top]);
printf("%d inserted successfully in stack.\n",stack[top]);
printf("The stack after pushing the given value :-\n");
display();
}
}
// Declaring pop function
void pop()
{
if(top==-1)
{
printf("Underflow condition.\n");
}
else
{
int p=stack[top];
printf("The popped element is %d",p);
top--; // Decrementing the top by 1 index
printf("The stack after popping is :-\n");
display();
}
}
/*---------------------------------------------------- Main Function ----------------------------------------------------------*/
void main()
{
int a ;
printf("Calling push function to insert some elements\n");
push();
push();
push();
printf("Please select any of the following options by entering the number corresponding to that option.\n\n");
printf("1. To check if the stack is full or not\n");
printf("2. To check if the stack is empty or not\n");
printf("3. To push an element in the stack\n");
printf("4. To pop an element from the stack\n");
printf("5. To display the topmost element of the stack\n");
printf("6. To display the complete stack\n");
scanf("%d",&a);
switch(a)
{
case 1:
isFull();
break;
case 2:
isEmpty();
break;
case 3:
push();
break;
case 4:
pop();
break;
case 5:
peek();
break;
case 6:
display();
break;
default:
printf("Please enter a valid number.\n");
break;
}
}