Array Implementation of Stacks
//Coming Soon...
Output:
#include<stdio.h> #include<stdlib.h> #define size 10 void Push(); void Pop(); void Display(); int CheckStackFull(); int CheckStackEmpty(); struct StackArray{ int array[size],top; }ptr; int main() { int choice,contin; ptr.top=-1; do{ printf("Enter\n1 - Push\n2 - Pop\n3 - Display\n4 - Exit\n"); scanf("%d",&choice); switch(choice) { case 1: Push(); break; case 2: Pop(); break; case 3: Display();break; case 4: exit(0); break; default: printf("Enter Valid Choice\n");break; } printf("Enter 1 to continue otherwise any other number\n"); scanf("%d",&contin); }while(contin==1); return(0); } void Push() { int flag=CheckStackFull(); if(flag==1) { int value; printf("Enter value to push into stack\n"); scanf("%d",&value); ptr.top+=1; ptr.array[ptr.top]=value; } else { printf("Stack is Full\n"); } } void Pop() { int flag=CheckStackEmpty(); if(flag==1) { printf("Popped Element is %d\n",ptr.array[ptr.top]); ptr.top-=1; } else { printf("Stack is Empty\n"); } } void Display() { int i,flag=CheckStackEmpty(); if(flag==1) { printf("Elements present in stack\n"); for(i=ptr.top;i>-1;i--) printf("%d\n",ptr.array[i]); printf("\n"); } else { printf("Stack is Empty\n"); } } int CheckStackFull() { if(ptr.top==size-1) return 0; else return 1; } int CheckStackEmpty() { if(ptr.top==-1) return 0; else return 1; }Explanation:
Output: