普通代码:
#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; }