Simple Stack Program using functions in C Programming
Definition
A stack is a basic computer science data structure and can be defined in an abstract, implementation-free manner, or it can be generally defined as a linear list of items in which all additions and deletion are restricted to one end that is Top.
Simple Stack Program using functions in C Programming
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define MAX_SIZE 5
int item, choice, i;
int arr_stack[MAX_SIZE];
int top = 0;
int exit_p = 1;
void push() {
if (top == MAX_SIZE)
printf("\n## Stack is Full!");
else {
printf("\nEnter The Value to be pushed : ");
scanf("%d", &item);
printf("\n## Position : %d , Pushed Value : %d ", top, item);
arr_stack[top++] = item;
}
}
void pop() {
if (top == 0)
printf("\n## Stack is Empty!");
else {
--top;
printf("\n## Position : %d , Popped Value : %d ", top, arr_stack[top]);
}
}
void display() {
printf("\n## Stack Size : %d ", top);
for (i = (top - 1); i >= 0; i--)
printf("\n## Position : %d , Value : %d ", i, arr_stack[i]);
}
int main() {
printf("\nSimple Stack Example - Array and Functions");
do {
printf("\n\nStack Main Menu");
printf("\n1.Push \n2.Pop \n3.Display \nOthers to exit");
printf("\nEnter Your Choice : ");
scanf("%d", &choice);
switch (choice) {
case 1:
push();
break;
case 2:
pop();
break;
case 3:
display();
break;
default:
exit_p = 0;
break;
}
} while (exit_p);
return 0;
}
Sample Output:
Simple Stack Example - Array and Functions
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 1
Enter The Value to be pushed : 1
## Position : 0 , Pushed Value : 1
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 1
Enter The Value to be pushed : 2
## Position : 1 , Pushed Value : 2
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 1
Enter The Value to be pushed : 3
## Position : 2 , Pushed Value : 3
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 1
Enter The Value to be pushed : 4
## Position : 3 , Pushed Value : 4
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 1
Enter The Value to be pushed : 5
## Position : 4 , Pushed Value : 5
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 1
## Stack is Full!
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 2
## Position : 4 , Popped Value : 5
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 2
## Position : 3 , Popped Value : 4
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 2
## Position : 2 , Popped Value : 3
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 2
## Position : 1 , Popped Value : 2
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 2
## Position : 0 , Popped Value : 1
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 2
## Stack is Empty!
Stack Main Menu
1.Push
2.Pop
3.Display
Others to exit
Enter Your Choice : 4
------------------
(program exited with code: 0)
Read More Articles
- Use of getch(),getche() and getchar() in C
- Switch Case Statement Example Program In C Programming Language
- C Character Set
- Convert a Floating-point value to an Integer in C
- Data Input and Output gets and puts Example Program In C
- Special Operators In C
- Pointer Representation and Pointer Example Programs
- C Data Input and Data Output
- Simple While Loop Example Program In C Programming Language
- Data Output printf and putchar Example Program In C
- C Introduction
- C Operators
- Storage Classes In C
- C Pointers
- File Management
- C Identifiers
- Loop Control Statements
- Hello World - Simple C Program
- C Array
- Single Character Output Function : putchar()
- C Reserve Words
- C Specific Properties and Implementation
- If else Statement Example Program In C Programming Language
- If Statement Example Program In C Programming Language
- Confusing Array in C ( Array Representation and Initialization )