#include<iostream>
//顺序队列
#define maxSize 100
using namespace std;
typedef struct
{
int data[maxSize];
int front;
int rear;
}SqQueue;
void initQueue(SqQueue &qu)
{
qu.front=qu.rear=0;
}
int QueueEmpty(SqQueue qu)
{
if(qu.front==qu.rear)
return 1;
else
return 0;
return 2;
}
//进队rear向后移动,出队front向后移动
int enQueue(SqQueue &qu,int x)
{
if((qu.rear+1)%maxSize==qu.front)//顺序队列队满的条件
return 0;
qu.rear=(qu.rear+1)%maxSize;//队尾指针rear后移
x=qu.data[qu.rear];
return 1;
}
int deQueue(SqQueue &qu,int &x)
{
if(qu.front==qu.rear)
return 0;
qu.front=(qu.front+1)%maxSize;//front后移
x=qu.data[qu.front];
return 1;
}
int main()
{
SqQueue Queue1;//Queue1相当于数组名
initQueue(Queue1);
QueueEmpty(Queue1);
int a=5;
enQueue(Queue1,a);
int b=0;
deQueue(Queue1,b);
return 0;
}
顺序队列的算法操作
最新推荐文章于 2021-12-03 16:20:54 发布