THE BELOW PROGRAM FAILS IN FEW TEST CASES
#include<stdio.h>
int front_val,s1[100],s2[100],top1=-1,top2=-1;
void enqueue(int x) {
int t;
while(top2 != -1)
{
t=s2[top2--];
s1[++top1]=t;
}
if(top1==-1) {
front_val = x;
}
s1[++top1]=x;
}
int dequeue() {
int t,x;
while(top1 != -1) {
t=s1[top1--];
s2[++top2]=t;
}
x = s2[top2--];
if(top2 != -1) {
front_val = s2[top2];
}
return x;
}
int peek() {
return front_val;
}
main()
{
int t,i,opt,val;
scanf("%d", &t);
for(i=0;i<t;i++)
{
scanf("%d", &opt);
switch(opt)
{
case 1:
scanf("%d", &val);
enqueue(val);
break;
case 2:
dequeue();
break;
case 3:
printf("%d\n", peek());
break;
}
}
}
#include<stdio.h>
int front_val,s1[100],s2[100],top1=-1,top2=-1;
void enqueue(int x) {
int t;
while(top2 != -1)
{
t=s2[top2--];
s1[++top1]=t;
}
if(top1==-1) {
front_val = x;
}
s1[++top1]=x;
}
int dequeue() {
int t,x;
while(top1 != -1) {
t=s1[top1--];
s2[++top2]=t;
}
x = s2[top2--];
if(top2 != -1) {
front_val = s2[top2];
}
return x;
}
int peek() {
return front_val;
}
main()
{
int t,i,opt,val;
scanf("%d", &t);
for(i=0;i<t;i++)
{
scanf("%d", &opt);
switch(opt)
{
case 1:
scanf("%d", &val);
enqueue(val);
break;
case 2:
dequeue();
break;
case 3:
printf("%d\n", peek());
break;
}
}
}
No comments:
Post a Comment