#include <iostream.h>
#include <malloc.h>
const int QueueSize=20;
typedef struct sqqueu{
char data[QueueSize];
int front,rear;
}Squeue;
//入队列
int EnQueue(SqQueue &sq,char x){
if((sq.rear+1)%Queuesize==sq.front){
return 0;
}
sq.rear=(sq.rear+1)%QueueSize;
sq.data[sq.rear]=x;
return 1;
}
//出队列
intOutQueue(SqQueue &sq,char &x){
if(sq.rear==sq.front){
return 0;
}
sq.front=(sq.front+1)%QueueSize;
x=sq.data[sq.front]
return 1;
}
指针操作异曲同工,大多数队的操作都是这样,不同的是临界条件的判断,我实现的这个是空出一个元素位置作为判断条件。
队列的实现
最新推荐文章于 2022-05-12 17:27:51 发布