一、队列的定义
二、队列的顺序实现
#include<iostream> using namespace std; const int N = 10; typedef struct { int data[N]; int front,rear; }SqQueue; void Init(SqQueue& Q)//初始化 { Q.front = Q.rear=0; }
三、入队
bool Push(SqQueue& Q, int x)//入队 { if ((Q.rear + 1) % N == Q.front)//判断队列已满的条件 { return false; } Q.data[Q.rear] = x; Q.rear = (Q.rear + 1) % N; return true; }
四、出队
bool Pop(SqQueue Q, int &x)//出队 { if (Q.front == Q.rear)return false;//当队首指向队尾时候队列为空 Q.data[Q.front] = x; Q.front = (Q.front + 1) % N; return true; }
五、其他方案