Advertisement
d1i2p3a4k5

1.Stack using array (DS)

Oct 29th, 2014
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.60 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #define max 100
  4. typedef struct
  5. {
  6.     int s[max];
  7.     int tos;
  8. }stack;
  9. int isempty(stack *t)
  10. {
  11.     if(t->tos==-1)
  12.         return 1;
  13.     else return 0;
  14. }
  15. void push(stack *t,int ele)
  16. {
  17.     if(t->tos==(max-1))
  18.     {
  19.         printf("\n STACK OVERFLOW");
  20.         return;
  21.     }
  22.     else
  23.     {
  24.         t->tos=t->tos+1;
  25.         t->s[t->tos]=ele;
  26.         return;
  27.     }
  28. }
  29. void pop(stack *t)
  30. {
  31.     int z;
  32.     if(isempty(t)==1)
  33.     {
  34.         printf("\nSTACK UNDERFLOW");
  35.         return;
  36.     }
  37.     else
  38.     {
  39.         z = t->s[t->tos];
  40.         t->tos = t->tos-1;
  41.         printf("\nDeleted element is %d",z);
  42.         return;
  43.     }
  44. }
  45. void top(stack *t)
  46. {
  47.     int z;
  48.     if(isempty(t)==1)
  49.     {
  50.         printf("\nSTACK UNDERFLOW");
  51.         return;
  52.     }
  53.     else
  54.     {
  55.         z = t->s[t->tos];
  56.         printf("\nTOP of stack is %d",z);
  57.         return;
  58.     }
  59. }
  60. void display(stack *t)
  61. {
  62.     int i;
  63.     if(isempty(t)==1)
  64.     {
  65.         printf("\nSTACK UNDERFLOW");
  66.         return;
  67.     }
  68.     else
  69.     {
  70.         printf("\nELEMENTS OF STACK is given below\n");
  71.         for(i=tos;i>=0;i--)
  72.         {
  73.             printf("%d\t",t->s[i]);
  74.         }
  75.         return ;
  76.     }
  77. }
  78. int main()
  79. {
  80.     int ch,ele;
  81.     stack x;
  82.     x.tos = -1;
  83.     printf("IMPELEMENTATION of STACK USING ARRAY\n");
  84.     while(1)
  85.     {
  86.         printf("\n1.INSERT ELEMENT IN STACK \n2.DELETE ELEMENT FROM STACK \n3.TOP OF STACK \n4.DISPLAY ELEMENTS OF STACK \n5.EXIT\n");
  87.         scanf_s("%d",&ch);
  88.         if(ch==5)
  89.             break;
  90.         else
  91.         {
  92.             switch(ch)
  93.             {
  94.             case 1: printf("\n enter element to insert in stack");
  95.                     scanf_s("%d",&ele);
  96.                     push(&x,ele);
  97.                     break;
  98.             case 2:pop(&x);
  99.                     break;
  100.             case 3:top(&x);
  101.                     break;
  102.             case 4:display(&x);
  103.                     break;
  104.             default:printf(" Invalid input");
  105.             }
  106.         }
  107.     }
  108.     _getch();
  109.     return 0;
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement