描述: 用数组实现循环队列。
#include <iostream>
using namespace std;
// 定义结点数据;
struct Queue {
int array[100];
int front, rear;
};
// 初始化队链;
Queue Init() {
Queue q;
q.front = q.rear = 0;
return q;
}
// 进队;
void Cir(Queue &q, int e) {
q.array[q.rear] = e;
if ((q.rear + 1)%100 == q.front )
return ;
q.rear = (q.rear + 1)%100;
}
// 出队;
int Del(Queue &q) {
int e;
if (q.front == q.rear )
return 0;
e = q.array[q.front];
q.front = (q.front + 1)%100;
return e;
}
int main() {
Queue q;
// 初始化函数Init;
q = Init();
int i, e;
for (i = 1;i <= 5; ++i) {
cin >> e;
// 进队函数Cir;
Cir(q, e);
}
for (i = 1;i <= 5; ++i)
// 删除函数Del;
cout << Del(q) << "\t";
cout << endl;
return 0;
}