![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
队列
C++的忠实粉丝
这个作者很懒,什么都没留下…
展开
-
数据结构(C语言版)——4.3、链式队列实现
4.1、链式队列实现4.1.1、链式队列说明和单链表类似。链式队列即用一组任意的存储单元存储栈的数据元素。每个结点包括存放数据元素的数据域,和指示下一个队列结点的指针域。对于队尾元素而言,由于其没有下一个结点,故队尾结点的指针域始终为 NULL ,其数据域存放最后一个入队的数据元素(头出尾入),由于元素通过队尾入队,附设一个队尾指针( rear )。为了操作方便,这里给链队列添加一个头结点,并令头指针( front )指向头结点。链队列示意图如下图所示。注:可将链式队列结构看成带头结点的单链表原创 2020-10-07 11:32:24 · 454 阅读 · 0 评论 -
数据结构(C语言版)——4.2、循环队列实现
4.2、循环队列实现4.2.1、循环队列说明(1)循环队列的产生在队列的顺序结构中,由于顺序队列尾进头出的特性,存在如下图所示的情况。此状态不可再继续插入新的队尾元素,否则会造成数组越界;又不易像顺序栈那样进行存储再分配,扩大数组空间。但实际上队列的可用空间并未占满 ,这样会造成空间的严重浪费。一个巧妙的办法是,臆造一个环状的空间,即循环队列。进而解决了顺序单调队列由于 front 前移不可逆转的空间浪费的问题(2)循环队列结构上的特殊之处指针和队列元素之间的关系并原创 2020-10-07 11:32:03 · 388 阅读 · 0 评论 -
数据结构(C语言版)——4.1、顺序队列实现
4.1、顺序队列实现4.1.1、顺序队列说明和顺序表类似。顺序队列即队列的顺序存储结构是利用一组地址连续的存储单元依次存放 自队头 到队尾 的数据元素,同时附设指针 front 指示队头元素在顺序队列中的位置,设指针 rear 指示队尾元素在顺序队列中的位置。通常习惯做法,鉴于C语言中数组的下标约定从整数 0 开始,则为了方便,这里队头与队尾指针 front 与 rear 设为 int 变量。初始状态,front = rear 表示队列为空,每当插入一个新的队列元素时,rear 增 1 (只能从队原创 2020-10-06 16:32:27 · 1810 阅读 · 0 评论 -
数据结构(C语言版)——4、队列
4、队列(1)队列的定义和栈类似,队列(Queue)也是一种线性表,其特殊性在于队列的基本操作是线性表操作的子集,即队列是操作受限的线性表。和栈相反的是,队列是一种先进先出(first in first out)的线性表,简称 FIFO ,它只允许在表的一端进行插入,而在另一端删除元素。在队列中允许插入的一端叫做队尾(rear),允许删除的一端叫做队头(front)。假设栈 Q=(a1,a2,...,an)Q = (a_1,a_2,...,a_n)Q=(a1,a2,...,an),且元素按照原创 2020-10-06 14:40:54 · 188 阅读 · 1 评论