☰
×
◈ Home
◈ Array
◈ Stack Using Array
◈ Stack Using Linked List
◈ Queue Using Array
◈ Queue Using Linked List
◈ Singly Linked List
◈ Doubly Linked List
◈ Circular Linked List
◈ Trees
◈ Graphs
◈ Hashes
◈ Heaps
Home
About
Consulting
Training
Tutorials
Interview Questions
Contact
C Programs
C Data Structure Programs
Home
C Data Structure Programs
◈ Home
◈ Array
◈ Stack Using Array
◈ Stack Using Linked List
◈ Queue Using Array
◈ Queue Using Linked List
◈ Singly Linked List
◈ Doubly Linked List
◈ Circular Linked List
◈ Trees
◈ Graphs
◈ Hashes
◈ Heaps
C Data Structure Programs
Stack Implementation Using Linked List
« Prev
Next »
DS - Stack Implementation Using Linked List
#include
int stack[5]; signed int top=-1; int main() { int i,ch; // signed int top=-1; while(1) { printf("\n"); printf("1. Push\n"); printf("2. Pop\n"); printf("3. Peek/Display\n"); printf("4. Exit \n\n"); printf("Enter Option : "); scanf("%d",&ch); switch(ch) { if(ch<0) { printf("Enter integer value\n"); break; } case 1: printf("\n\n-------PUSH Operation------\n\n"); top=top+1; if(top>=4) { printf("Stack Overflow. Can't Insert.\n"); top=top-1; break; } else { printf("Enter Value to Push : "); scanf("%d", &stack[top]); printf("\n\n"); peek(); break; } case 2: printf("--------POP Operation--------\n\n"); stack[top]=NULL; top=top-1; peek(); break; case 3: printf("\n"); peek(); break; case 4: exit(0); default: printf("Wrong Option\n"); } // switch } //while } // main int peek() { int j,k; k=top; if(top<0) { printf("Stack is Empty\n"); return; } for(j=0;j<=k; k--) { printf(" | |\n"); printf(" |"); printf(" %d", stack[k]); printf(" |\n"); printf(" |____|\n"); } printf("\n"); return; }
« Prev
Next »
If you have any queries please email us at
info@motionzen.com