队列:
队列是一种特殊的线性结构。
出队:在队列的头部(head)进行删除操作。
入队:在队列的尾部(tail)进行插入操作。
当队列中没有元素时(即 head==tail),称为空队列。
规则:
首先将第 1个数删除,紧接着将第 2 个数放到这串数的末尾,再将第 3 个数删除并将第 4 个数放到这串数的末尾,再将第 5 个数删除……直到剩下最后一个数,将最后一个数也删除。按照刚才删除的顺序,把这些删除的数连在一起就是小哈的 QQ啦。
输入:
6 3 1 7 5 8 9 2 4
输出:
6 1 5 9 4 7 2 8 3
#include<stdio.h>
int main(void){
int head,tail;
int q[102]={0,6,3,1,7,5,8,9,2,4};
head=1;
tail=10; //队列中有九个元素,尾指向最后一个元素之后
while(head<tail){ //当队列不为空的时候执行
printf("%d",q[head]); //打印第一个
head++; //删掉第一个
q[tail]=q[head]; //将新队首的数放到末尾
tail++;
head++; //再次从队首出发
}
getchar();
getchar(); //这里的getchar();用来暂停程序,以便查看程序输出的内容
//也可以用system("pause");等来代替
return 0;
}