顺序队的建立、入队、出队、判空。
#include<iostream>
#include<stdlib.h>
using namespace std;
#define maxSize 100
typedef struct
{
int data[maxSize];
int front;
int rear;
} SqQueue;
void initQueue(SqQueue &qu)
{
qu.front=qu.rear=0;
}
void isEmpty(SqQueue qu)
{
if(qu.front==qu.rear)
cout<<"is empty."<<endl;
else
cout<<"is not empty."<<endl;
}
int enQueue(SqQueue &qu, int x)
{
if((qu.rear+1)%maxSize==qu.front)
return 0;
qu.rear=(qu.rear+1)%maxSize;
qu.data[qu.rear]=x;
return 1;
}
int deQueue(SqQueue &qu,int &x)
{
if(qu.rear==qu.front)
return 0;
qu.front=(qu.front+1)%maxSize;
x=qu.data[qu.front];
return 1;
}
void print(SqQueue &qu)
{
for(int i=qu.front+1;i<=qu.rear;i++)
cout<<qu.data[i];
}
int main()
{
SqQueue qu;
int x;
initQueue(qu);
isEmpty(qu);
enQueue(qu,1);
enQueue(qu,2);
enQueue(qu,3);
print(qu);
cout<<endl;
isEmpty(qu);
cout<<endl;
deQueue(qu,x);
print(qu);
cout<<endl;
}