Stack implementation using Structures in C



/*
www.troubleshootyourself.com
C Program to demonstrate stack implementation using structures. 
*/

#include
 
#define MAX 100
 
/* structure declaration */
typedef struct
{
    int element[MAX];
    int TOP;
}STACK;
 
STACK *s;
 
/* Function to insert an item into stack. */
void pushItem(STACK *s,int ITEM)
{
    if(s->TOP==MAX-1)
    { 
        printf("\nSTACK is FULL.\n"); 
        return;   
    }
    s->element[++s->TOP]=ITEM;
    printf("\nITEM inserted successfully.\n");
}
 
/* function: popItem( ), to delete an item from stack. */
int popItem(STACK *s)
{
 
    int itm;
    if(s->TOP==-1)   
    { 
        printf("\nSTACK is empty.\n"); 
        return; 
    }
    itm=s->element[s->TOP];
    s->TOP--;
    printf("\nItem removed : %d\n",itm);    
}
 
/* Function to display stack elements. */
void dispItems(STACK *s)
{
    int i;
    if(s->TOP == -1) 
    { 
        printf("STACK IS EMPTY."); 
        return; 
    }
    
    for(i=s->TOP;i>=0;i--)
    {
        printf("%d->",s->element[i]);
    }
    
    printf("\n");
}
 
/* main function */
void main()
{
    int num; char dummy;
 
    /* Memory allocation and initialization */
    s=(STACK*)malloc(sizeof(STACK));
    s->TOP=-1;
 
    int choice=0;
 
again:
 
    /* display stack elements */
    printf("\nSTACK ELEMENTS :"); dispItems(s);
 
    printf("\nSTACK OPTIONS \n0: Exit\n1: Add item\n2: Remove item \nEnter choice:");
    scanf("%d",&choice);
 
    switch(choice)
    {
     
        case 0:
        {
            exit(1);
        }
        break;
 
        case 1:
        {
            printf("\nEnter an item to insert:");
            scanf("%d",&num);
            pushItem(s,num);
        }
        break;
 
        case 2:
        {
            popItem(s);
        }
        break;
 
        default:
        {
            printf("\nInvalid Choice !");
        }
        break;
 
    }
 
scanf("%c",&dummy);
goto again;
}
 
 

Check and run the program here:

You can run the above program on codeboard editor and see the results. You are allowed to modify code and run. In the editor there is a menu at the top-right corner. Here you can see two buttons such as ‘Compile’ and ‘Run’.

Share this:
We will be happy to hear your thoughts

Leave a reply

Troubleshootyourself
Logo