标签:队尾 队列 元素 MAXSIZE 算法 front 数据结构 rear
栈和队列是两种在运算时要受到某些特殊限制的线性表,故也称为限定性的数据结构。
1.概念
定义:队列是指限定只能在表的一端(队尾rear)进行插入,在表的另一端(队头front)进行删除的线性表。
修改原则:先进先出或后进后出(Frist In Frist Out,FIFO)
2.队列的操作
空队列时:rear=front=-1
元素个数:rear-front
元素入队:rear+1
元素出队:front+1
非空队列时:rear始终指向队头元素的前一个位置,而front始终指向队尾元素的位置。
3.队列的典型应用
打印队列和时间排队等。
4.队列的存储结构
队列的存储结构有顺序存储和链式存储。
①队列的顺序存储:指用一组地址连续的存储单元存放队列中的元素,由于队列中的元素的插入和删除限定在队列的两端进行,因此设置队头指针和队尾指针,分别指示当前的队首元素和队尾元素。
②栈的链式存储(链队列):用链表表示的队列。
③为了方便操作,给链队列添加一个头结点,并令头指针指向头结点。队列为空的判定条件是:头指针和尾指针的值相同,且均指向头结点。
5.循环队列
循环队列是指首尾相接的队列,逻辑上形成一个环状。
MAXSIAZE:循环队列最大容量
n:当前队列中元素的个数
入队:rear=(rear+1)mod MAXSIZE
出队:rear=(front+1)mod MAXSIZE
空队列判断条件:front=rear,且n=0
满队列判断条件:front=rear,且n=MAXSIZE
循环队列元素个数:n=(rear-front+MAXSIZE)mod MAXSIZE
循环队列中,rear可以大于front,front也可以大于rear
标签:队尾,队列,元素,MAXSIZE,算法,front,数据结构,rear 来源: https://www.cnblogs.com/jingchi/p/15929091.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。