普通代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int q[102] = {0,6,3,1,7,5,8,9,2,4},head,tail;
int i;
head = 1;
tail = 10; //队列中已经有9个元素了,tail指向队尾的最后一个位置
while(head < tail)
{
//打印队首并将队首出队
cout << q[head] << ' ';
head ++;
//先将新队首的数添加到队尾
q[tail] = q[head];
tail ++;
//再将队首出队
head ++;
}
getchar();
getchar();
return 0;
}
结构体代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
struct queue
{
int data[100];//队列的主体,用来存储内容
int head;//队首
int tail;//队尾
};
struct queue q;
int i;
//初始化队列
q.head = 1;
q.tail = 1;
for(i = 1;i <= 9;i ++)
{
//依次向队列插入9个数
cin >> q.data[q.tail];
q.tail ++;
}
while(q.head < q.tail)//当队列不为空时执行循环
{
//打印队首并将队首出队
cout << q.data[q.head] << ' ';
q.head ++;
//先将新队首的数添加到队尾
q.data[q.tail] = q.data[q.head];
q.tail ++;
//再将队首出队
q.head ++;
}
getchar();
getchar();
return 0;
}