What is Stack ?
Stack is a linear data structure which follows a particular order in which the operations are performed.
The order may be LIFO(Last In First Out) or FILO(First In Last Out).
How find the middle element of the stack ?
Function:
void middle()
{
int length=top+1;
printf("Middle element is %d",stack[length/2]);
}
#include< stdio.h>
#include< conio.h>
#define max 50
int stack[max],top=-1;
void create()
{
char ch;
do
{
top++;
printf("Enter Number\n");
scanf("%d",&stack[top]);
printf("Continue(y/n)\n");
ch=getch();
}while(ch=='y');
}
void traverse()
{
int i;
printf("Stack is :\n");
for(i=top;i>=0;i--){
printf("%d ",stack[i]);
}
}
void middle()
{
int length=top+1;
printf("Middle element is %d",stack[length/2]);
}
void main()
{
clrscr();
create();
traverse();
middle();
getch();
}
Enter Number
2
Continue(y/n)
Enter Number
1
Continue(y/n)
Enter Number
9
Continue(y/n)
Enter Number
3
Continue(y/n)
Enter Number
6
Continue(y/n)
Stack is :
6 3 9 1 2
Middle element is 9