Find middle element of stack by R4R Team


program-

#include< stdio.h>
#include< conio.h>
#include< alloc.h>
struct stack
{
int data;
struct stack *back;
};
struct stack *top;

void create()
{
char ch;
struct stack *ptr,*cpt;
printf("Enter Number\n");
cpt=(struct node*)malloc(sizeof(struct stack));
scanf("%d",&cpt->data);
cpt->back=NULL;
do
{
printf("Enter Number\n");
ptr=(struct stack*)malloc(sizeof(struct stack));
scanf("%d",&ptr->data);
ptr->back=cpt;
cpt=ptr;
printf("Continue(y/n)?\n");
ch=getch();
}while(ch=='y');
top=cpt;
}

void traverse()
{
struct stack *ptr=top;
printf("Stack is :\n");
while(ptr!=NULL)
{
printf("%d ",ptr->data);
ptr=ptr->back;
}
}

void middle()
{
struct stack *ptr=top;
int len=0,i;
while(ptr!=NULL)
{
len++;
ptr=ptr->back;
}
ptr=top
for(i=0;i< =len/2;i++)
{
ptr=ptr->back;
}
printf("Middle element of stack is %d",ptr->data);
}

void main()
{
clrscr();
create();
traverse();
middle();
getch();
}


output-

Enter Number
3
Enter Number
4
Continue(y/n)?
Enter Number
7
Continue(y/n)?
Enter Number
1
Continue(y/n)?
Enter Number
6
Continue(y/n)?
Stack is :
6 1 7 4 3
Middle element of stack is 7




Leave a Comment:
Search
Categories
R4R Team
R4Rin Top Tutorials are Core Java,Hibernate ,Spring,Sturts.The content on R4R.in website is done by expert team not only with the help of books but along with the strong professional knowledge in all context like coding,designing, marketing,etc!