#include<stdio.h>
struct queue
{
int data[101];
int head,tail;
};
int main()
{
struct queue q;
int i,n;
scanf("%d",&n);
q.head=1;q.tail=1;
//假设接受的数据为1 2 3 4
//即当前head=1,tail=4
for(i=1;i<=n;i++){
scanf("%d",&q.data[q.tail]);
q.tail++;}
while(q.head<q.tail){
printf("%d ",q.data[q.head]); //第一次输出 1 || 第二次输出 3 || 第三次输出 2 第三次输出 4
q.head++; //head=2 || head =4 || head=6 || 8
q.data[q.tail]=q.data[q.head]; //q.data[5] = 2 || q.data[6] = 4 || q.data[7] = 2 || null
q.tail++; // tail = 6 || tail = 7 || tail = 8 || 9
q.head++; // head=3 || head = 5 || head = 7 || 9
}
return 0;
}
做了一些注释,不太清楚它的作用,看你的二号,难道是密码学的? |