#include <stdio.h>
#include <cstdlib>
#define MaxSize 10
typedef struct {
int data[MaxSize];
int front,rear;
}SqQueue;
void InitSqQueue(SqQueue &q){
q.front=0;
q.rear=0;
}
bool Empty(SqQueue &q){
if(q.rear==q.front)
return false;
return true;
}
bool Full(SqQueue &q){
if((q.rear+1)%MaxSize==q.front)
return false;
return true;
}
bool EnQueue(SqQueue &q,int e){
if(Full(q)){
q.data[q.rear]=e;
q.rear=(q.rear+1)%MaxSize;
return true;
}
return false;
}
bool DeQueue(SqQueue &q,int &x){
if(Empty(q)){
x=q.data[q.front];
q.front=(q.front+1)%MaxSize;
return true;
}
return false;
}
int GetHead(SqQueue q,int &x){
if(Empty(q)){
x=q.data[q.front];
}
}
int main() {
SqQueue q;
int x=0;
InitSqQueue(q);
EnQueue(q,1);
EnQueue(q,2);
EnQueue(q,3);
DeQueue(q,x);
printf_s("%d",x);
DeQueue(q,x);
printf_s("%d",x);
DeQueue(q,x);
printf_s("%d",x);
return 0;
}
3.2队列的顺序存储
于 2021-07-11 00:31:51 首次发布