顺序队列的假溢出及顺序循环队列的表示(C++版)
来源:互联网 发布:2017单反推荐 知乎 编辑:程序博客网 时间:2024/06/01 07:32
顺序队列的假溢出:
按照前面所说的顺序队列的存储方法(http://blog.csdn.net/tongxinhaonan/article/details/26710019),有可能造成“假溢出”。
这种溢出不是因为存储空间不够而溢出,而是经过多次插入和删除操作引起的,像这种有存储空间而不能进行插入的元素操作的溢出称为“假溢出”。
为了避免顺序队列造成的“假溢出”现象,通常采用顺序循环队列来实现队列的顺序存储。
顺序循环队列的定义和顺序队列的定义是一样的:
#define QueueSize 40typedef struct Squeue{DataType queue[QueueSize];int front,rear;}SeqQueue;
顺序循环队列的实现:
(1)初始化操作。
void InitQueue(SeqQueue *SCQ){SCQ->front=SCQ->rear=0;}
(2)判断队列是否为空。
int QueueEmpty(SeqQueue SCQ){if (SCQ.front==SCQ.rear){return 1;}else{return 0;}}
(3)入队操作。
int EnterQueue(SeqQueue *SCQ,DataType x){if (SCQ->front==(SCQ->rear+1)%QueueSize){return 0;}SCQ->queue[SCQ->rear]=x;SCQ->rear=(SCQ->rear+1)%QueueSize;return 1;}
(4)出队操作。
int DeleteQueue(SeqQueue *SCQ,DataType *x){if (SCQ->rear==SCQ->front){return 0;}*x=SCQ->queue[SCQ->front];SCQ->front=(SCQ->front+1)%QueueSize;return 1;}
0 0
- 顺序队列的假溢出及顺序循环队列的表示(C++版)
- 队列的顺序表示及实现,循环队列
- 《数据结构》队列的顺序表示--循环队列
- 数据结构:循环队列(队列的顺序表示)
- 循环队列——队列的顺序表示与实现(c语言)
- 数据结构---C语言之队列的顺序表示和实现(循环队列)
- 循环队列的顺序表示和实现
- 循环队列的顺序表示和实现
- 队列的顺序表示
- 顺序队列的表示
- 循环队列(顺序表示)
- 循环队列——队列的顺序表示和实现
- 循环队列——队列的顺序表示和实现
- 循环队列 队列的顺序表示和实现
- 循环队列-队列的顺序表示和实现
- 循环队列——队列的顺序表示和实现
- 线性表----循环队列(顺序表示)的基本操作
- 队列---顺序队列存储结构的不足(假溢出)
- Oracle数据操作和控制语言详解(三)
- 夏日来临,西瓜+wifi+空调,足矣
- struts2中Convention plug-in中的那些事情
- FTPClient
- 运算符的优先级古诗顺口溜记忆法
- 顺序队列的假溢出及顺序循环队列的表示(C++版)
- 图片文件的常见操作
- ganglia监控3
- 第13周-项目1-点、圆的关系
- 黑马程序员 (7k面试)银行取票系统学习笔记
- 火箭八人大交易可得乐福 林书豪或将改投小牛
- 沟通管理:管理沟通中的致命失误
- the measurement of trancesform line
- 如何做人做事