您的位置:首页 > 其它

顺序队中实现队列的基本运算

2017-11-01 20:17 246 查看
【代码】//文件名:sqqueue.cpp

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