wordpress tag页面优化,seo公司官网,企业应该做几个网站,手表网站制作照片概念大合集04 1、队列1.1 队列的定义1.2队列的顺序存储1.2.1 顺序队1.2.2 顺序队的基本运算的基本思想1.2.3 顺序队的4要素的基本思想 1.3 环形队列1.3.1 环形队列的定义1.3.1 环形队列的实现 1.4 队列的链式存储1.4.1 链队1.4.2 链队的实现方式1.4.3 链队的4要素的基本思想 1.… 概念大合集04 1、队列1.1 队列的定义1.2队列的顺序存储1.2.1 顺序队1.2.2 顺序队的基本运算的基本思想1.2.3 顺序队的4要素的基本思想 1.3 环形队列1.3.1 环形队列的定义1.3.1 环形队列的实现 1.4 队列的链式存储1.4.1 链队1.4.2 链队的实现方式1.4.3 链队的4要素的基本思想 1.5 双端队列 1、队列
1.1 队列的定义
队列限制为仅允许在表的一旦进行插入操作而在表的另一端进行删除操作。将进行插入的一端称为队尾进行删除的一端称为队头或对首。将插入新元素称为入队或进对。将删除元素称为出队或离队。
队列的特点是先进队的先出队即先进先出表first in first outFIFO
1.2队列的顺序存储
1.2.1 顺序队
采用顺序存储的列表称为顺序队
1.2.2 顺序队的基本运算的基本思想
函数名函数作用InitQueue(q)初识化队列构造一个空队列DestroyQueue(q)销毁队列释放为队列q分配的内存空间QueueEmpty(q)判断队列是否为空表若L为空队列则返回true否则返回falseenQueue(q,e)进队列将元素e插入作为对尾元素。deQueue(q,e)出队列从队列q中出队一个元素并将其赋值给e
1.2.3 顺序队的4要素的基本思想 空队q - front q - rear;队满q - rear MaxSize - 1;进队先将rear增1然后将元素e放在data数组的rear位置。即data[rear] e;出队先将front增1然后取出data数组中front位置的元素。即e data[front];
1.3 环形队列
1.3.1 环形队列的定义 环形队是顺序队的衍生。 衍生原因由上面的基本思想可知队满的情况是q - rear MaxSize - 1而队列的出队是从队头出队当出队两次后队列空出两个元素但是这时候仍旧是q - rear MaxSize - 1所以会出现假队队满的情况。为避免这种情况于是就衍生出环形队列这种特殊的队列。 所以将顺序队的前后端连接起来就形成了环形队列
1.3.1 环形队列的实现
环形队列相连后当队尾指针rear MaxSize - 1后再前进一个位置到0让 rear 0即从队尾变成队头为此可采用求余%运算来实现 队尾指针rear从队尾指向队头形成循环rear (rear 1)%MaxSize 同理队头指针front循环增1front (front 1)%MaxSize
1.4 队列的链式存储
1.4.1 链队
采用链式存储结构的队列 采用单链表的方式实现链队
1.4.2 链队的实现方式
链队的实现方式与链表不同链队的头结点存放两个指针一个指向队首结点一个指向队尾结点而里面的数据结点还是与单链表相同存在一个数据域和一个指针域
1.4.3 链队的4要素的基本思想
队空q-rear NULL || q-front NULL;队满不考虑进队新建一个结点存放元素将其作为尾结点插入出队取出队首结点的data值并将其删除
1.5 双端队列
指的是两端都可以进行进队和出队的操作的队列 进队时从前端进的元素排列在从后端进的元素的前面 出队时无论是从前端出还是从后端出都是先出的元素排列在后出的元素前面。
注 本文将主要探讨队列的概念其中提及的各个函数操作将在后续的文章中详细展示敬请读者期待。 上一篇文章 数据结构的概念大合集03栈 下一篇文章 数据结构的概念大合集05串