b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

数据结构和算法教程

电脑杂谈  发布时间:2020-04-27 18:10:25  来源:网络整理

循环队列_循环队列_循环队列 c

1. 顺序队列和循环队列的错误溢出的概念

我们已经了解了队列的基本数据结构. 对于顺序队列,它们的存在足以解决大多数设计问题,但是由于我们的入队和出队操作,仍然存在一些缺陷和不足,所有节点的链接和删除都直接在其后面,这导致了空间的使用不断地移到队列一侧,导致错误的溢出.

什么是虚假溢出?打个比方:

4031.png

循环队列_循环队列 c_循环队列

(样品订单队列)

回顾队列的性质. 首先,我们有一个顺序队列. 该队列的大小为5,它已经包含四个元素data1,data2,data3,data4. 然后,我们将这个队列Team 2元素出队,该队列变为:

4032.png

目前看来似乎没有问题,然后我们进行入队操作,我们入队2个元素,即data5和data6,这时我们发现了一个问题,尾指针移到了我们可以执行队列操作在外部,我们将用作队列的存储区域称为未满,但是队列已溢出,我们将此现象称为“错误溢出”.

循环队列_循环队列 c_循环队列

4033.png

(让团队产生虚假的溢出)

也许此时会有一个问题. 我们正在使用链接列表学习的队列不是动态队列吗?如果没有空间,它将打开空间. 这还会导致错误的溢出吗?

是的,确实,当动态创建队列时,即使前出队操作释放了前面的空间,它仍继续向后申请内存空间,但是指针仍将向后移动,直到内存的上限系统为该程序保留的保留被强制终止,这对于极其频繁的队列操作和程序来说是致命的. 此时,我们需要优化队列并使用更好的结构循环队列.

循环队列_循环队列_循环队列 c

4034.png

循环队列的考虑非常简单,也就是说,鉴于我们队列的大小范围,基于原始队列,只要队列的后部已满,它将从队列的前部插入. 排队以达到重用空间的效果. 因为循环队列的设计思路更像是一个环,所以通常用环图表示,但是请注意,它不是真正的环,并且循环队列仍然是单线性的.

2. 循环排队的结构设计

由于在循环中为列指定了数据范围的大小,因此不需要使用链接的动态创建方法(如果仍然使用链接的存储循环队列,则将无法确定何时返回插入团队的负责人),因此我们使用了模拟方法,如图所示:

循环队列 c_循环队列_循环队列

4035.png

在data表示数据字段的情况下,int是一种类型,可以将其修改为任何自定义类型,例如简单的char,float类型等,或复杂的结构类型,我们使用maxsize表示一个循环. 队列的最大容量,代表队列的整个可操作空间.

后方代表尾巴指针循环队列,并在进入团队时移动.

front代表头指针,并在离开团队时移动.

代码可以表示为


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-190997-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 郑君姬乙
        郑君姬乙

        未从官方渠道购买怎么能说我们小米是不合格的呢

      • 张凯凯
        张凯凯

        四是战争指挥失误

      热点图片
      拼命载入中...