队列的设计思想是“先进先出”,而且是只允许队尾进队(插入),队首出队,就如同我们去窗口办理业务一样,需要排队,而办完业务之后,就可以离开队列即出队(删除)。
下面是一个最简单的队列实现示例,但是却意味深长的体现了队列设计及实现的基本思想。
C语言实现的代码如下:
#include "stdio.h"
struct queue{
int a[101];
int head;
int tail;
};
int main(){
int i, n;
struct queue q;
//向队列中插入数据;
q.head=0;
q.tail=0;
printf("请输入数据个数:");
scanf("%d", &n);
printf("请输入数列:");
for(i=0; i<n; i++)
{
scanf("%d", &q.a[q.tail]);
q.tail++;
}
printf("队列输出后:");
while(q.head<q.tail)
{
printf("%d ", q.a[q.head]);
q.head++;
q.a[q.tail] = q.a[q.head];
q.tail++;
q.head++;
}
getchar();getchar();
return 0;
}