第3章 栈和队列
3.2 队列
综合应用题 第1题
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#define MaxSize 10
using namespace std;
typedef int ElemType;
typedef struct{
ElemType data[MaxSize];
int front,rear;
int tag;
}SqQueue;
void InitQueue(SqQueue &Q)
{
Q.rear=Q.front=Q.tag=0;
}
int EnQueuel(SqQueue &Q,ElemType x)
{
if(Q.front==Q.rear&&Q.tag==1)
return 0;
Q.data[Q.rear]=x;
Q.rear=(Q.rear+1)%MaxSize;
Q.tag=1;
return 1;
}
int DeQueuel(SqQueue &Q,ElemType &x)
{
if(Q.front==Q.rear&&Q.tag==0)
return 0;
x=Q.data[Q.front];
Q.front=(Q.front+1)%MaxSize;
Q.tag=0;
return 1;
}
int main() {
SqQueue Q;
InitQueue(Q);
EnQueuel(Q,3);
int x=0;
DeQueuel(Q,x);
cout<<x;
return 0;
}