您的位置:首页 > 理论基础 > 数据结构算法

数据结构教程第四版*(李春葆)P81~82//队列的顺序存储结构以及实现

2016-11-19 20:40 519 查看
#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: