e447.
queue 練習
| From: [119.14.29.56] |
發表日期
:
2024-01-19 19:12
我真的不知道為什麼我在本地可以執行,但上系統就死掉了QQ
本地:TDM-GCC 9.2.0 64-bit Release (Dev C++)
詳細+高亮:
https://hackmd.io/@-DvamJjeQ5i7yJf-TbHD3A/HkrmL0DYp
# include<stdio.h>
#define MAX 1000001
long int q[MAX]={0};
long int fp=0;
long int bp=0;
int inq(long int* q, long int ele){
bp=(bp+1)%MAX;
q[bp]=ele;
return 0;
}
int deq(long int* q){
if(fp>=bp)
return -1;
fp=(fp+1)%MAX;
int temp=q[fp];
q[fp]=0;
return temp;
}
int front(long int* q){
if(fp==bp)
return -1;
int ind=(fp+1)%MAX;
return q[ind];
}
void job(){
long int k;
long int ele;
scanf("%ld",&k);
switch (k){
case 1:
scanf("%ld",&ele);
//printf("print: %d, %d\n",k,ele);
inq(q,ele);
break;
case 2:
//printf("out: %d\n",front(q));
printf("%ld\n",front(q));
break;
case 3:
deq(q);
break;
}
}
int main(){
long int num;
while (scanf("%ld\n",&num)!=EOF){
for (long int i=0;i<num;i++){
job();
}
}
return 0;
}