#include<stdlib.h>
#include<stdio.h>
#include<iostream.h>
#define Maxsize 100
typedef int ElemType;
typedef struct
{
ElemType data[Maxsize];
int front,rear;
}SqQueue;
void InitQueue(SqQueue *&q)
{
q=(SqQueue *)malloc(sizeof(SqQueue));
q->front=q->rear=-1;
}
void DestroyQueue(SqQueue *&q)
{
free(q);
}
bool QueueEmpty(SqQueue *q)
{
return (q->front==q->rear);
}
bool enQueue(SqQueue *&q,ElemType e)
{
if(q->rear==Maxsize-1)
return false;
q->rear++;
q->data[q->rear]=e;
return true;
}
bool deQueue(SqQueue *&q,ElemType &e)
{
if(q->front==q->rear)
return false;
q->front++;
e=q->data[q->front];
return true;
}
void main()
{
int a[4];
SqQueue *s;
InitQueue(s);
enQueue(s,1);
enQueue(s,2);
enQueue(s,3);
enQueue(s,4);
for(int j=0;j<4;j++)
{
deQueue(s,a[j]);
}
for(j=0;j<4;j++)
cout<<a[j]<<endl;
if(QueueEmpty(s))
cout<<"此队列已经为空"<<endl;
}
数据结构教程第四版*(李春葆)P81~82//队列的顺序存储结构以及实现
最新推荐文章于 2023-11-29 17:31:57 发布