From 49d82f1fdeb7825fcc77766f8afbbd4a2589d071 Mon Sep 17 00:00:00 2001 From: Christian Bender Date: Thu, 14 Feb 2019 15:51:36 +0100 Subject: [PATCH] refactoring --- data_structures/stack/main.c | 139 ++++++++++++++++++----------------- 1 file changed, 70 insertions(+), 69 deletions(-) diff --git a/data_structures/stack/main.c b/data_structures/stack/main.c index 8436a30e..6a1502bb 100644 --- a/data_structures/stack/main.c +++ b/data_structures/stack/main.c @@ -1,82 +1,31 @@ -//program for stack using array +//program for stack using array + +#include -#include void push(); void pop(); -void peep(); +void peek(); void update(); + +int a[100], top = -1; + int main() { - int n,a[100],top=0; - //function for pushing the element - void push() - { - printf("\nenter the value to insert"); - scanf("%d",&n); - top=top+1; - a[top]=n; - } - //function for poping the element out - void pop() - { - if(top==0) - { - printf("\nstack is empty"); - } - else - { - int item; - item=a[top]; - top=top-1; - printf("\npoped item is %d ",item); - } - } - //function for peeping the element from top of the stack - void peep() - { - int i; - printf("\nenter the element position to view from top"); - scanf("%d",&i); - if(top-i+1<0) - { - printf("\nunderflow condition"); - } - else - { - int x; - x=a[top-i+1]; - printf("\nthe %dth element from top is %d",i,x); - } - } - //function to update the element of stack - - void update() - { - int i,n; - printf("\nenter the position to update"); - scanf("%d",&i); - printf("\nenter the item to insert"); - scanf("%d",&n); - if(top-i+1<0) - { - printf("\nunderflow condition"); - } - else - { - a[top-i+1]=n; - } - } + int x; - while(1) + while (1) { + printf("\n0.exit"); printf("\n1.push"); printf("\n2.pop"); - printf("\n3.peep"); + printf("\n3.peek"); printf("\n4.update"); - printf("\nenter your choice"); - scanf("%d",&x); - switch(x) + printf("\nenter your choice? "); + scanf("%d", &x); + switch (x) { + case 0: + return 0; case 1: push(); break; @@ -84,7 +33,7 @@ int main() pop(); break; case 3: - peep(); + peek(); break; case 4: update(); @@ -93,6 +42,58 @@ int main() printf("\ninvalid choice"); } } - return(0); + return (0); } +//function for pushing the element +void push() +{ + int n = 0; + printf("\nenter the value to insert? "); + scanf("%d", &n); + top += 1; + a[top] = n; +} + +//function for poping the element out +void pop() +{ + if (top == -1) + { + printf("\nstack is empty"); + } + else + { + int item; + item = a[top]; + top -= 1; + printf("\npoped item is %d ", item); + } +} + +//function for peeping the element from top of the stack +void peek() +{ + if (top >= 0) + printf("\n the top element is %d", a[top]); + else + printf("\nstack is empty"); +} + +//function to update the element of stack +void update() +{ + int i, n; + printf("\nenter the position to update? "); + scanf("%d", &i); + printf("\nenter the item to insert? "); + scanf("%d", &n); + if (top - i + 1 < 0) + { + printf("\nunderflow condition"); + } + else + { + a[top - i + 1] = n; + } +} \ No newline at end of file