队列的顺序存储
创建队列
#define Maxsize 10
typedef struct {
int data[Maxsize];
int rear,front;
} SqQueue;
队列的基本操作
用顺序存储方式定义循环队列,当rear和front相同时,则队列为空
当rear+1取Maxsize的余数等于front时,队列已满
增加元素入队
bool EnQueue(SqQueue &Q,int x){
if((Q.rear)%Maxsize=Q.front) //判断队列是否已满
return false;
Q.data[Q.rear]=x;
Q.rear=(Q.rear+1)%Maxsize;
return true;
}
出队操作
bool DeQueue(SqQueue &Q,int &x){
if(Q.front=Q.rear) //判断队列是否为空
return false;
x=Q.data[Q.front];
Q.front=(Q.front+1)%Maxsize;
return true;
}