队列

队列定义:队列是连续、有限的空间,数据入队必须从队尾入,出队必须从队头出。(类似于现实世界排队)
至于rear和front指向的定义是人为设置的;rear可以指向队尾数据,也可以指向队尾数据下一位;front可以指向队头数据,也可以指向队头数据前一位

类型 普通队列 循环队列
队空条件 rear==front rear==front
队满条件 rear==MAX_SIZE front==(rear+1)%MAX_SIZE
入队和rear移动的先后顺序 rear先后移,数据再入队 rear先后移,数据再入队
出队和front移动的先后顺序 front先后移,数据再出队 front先后移,数据再出队
常用初始化 rear=front=-1 rear=front=0
rear指向定义 指向队尾数据 指向队尾数据
front指向定义 指向队头数据 指向队头数据前一个元素
空位位置 无空位 无数据时front指向空位

循环队列与普通队列区别和优缺点
区别:数据出队后,空间能否重复利用
优缺点:普通队列相比较循环队列数据出队后,空间不可重复利用,且普通队列可能出现“假性队满”的情况

循环队列实现方式还有多种,如下。
图片

posted @ 2026-10-08 16:46  心事不在脸上  阅读(7)  评论(0)    收藏  举报