首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设结点结构为(data,link),试用一个全局指针p和某种链接结构实现一个队列,画出示意图,并给出入队addq和出队deleq过程,要求它们的时间复杂性都是O(1)(不计new和dispose时间)。
设结点结构为(data,link),试用一个全局指针p和某种链接结构实现一个队列,画出示意图,并给出入队addq和出队deleq过程,要求它们的时间复杂性都是O(1)(不计new和dispose时间)。
admin
2017-01-04
82
问题
设结点结构为(data,link),试用一个全局指针p和某种链接结构实现一个队列,画出示意图,并给出入队addq和出队deleq过程,要求它们的时间复杂性都是O(1)(不计new和dispose时间)。
选项
答案
本题要求用链接结构实现一个队列,可用链表结构来实现。一般说,由于队列的先进先出性质,所以队列常设队头指针和队尾指针。但题目中仅给出一个“全局指针p”,且要求入队和出队操作的时间复杂性是O(1),因此用只设尾指针的循环链表来实现队列。 (1)proc addq(var p:linkedlist,x:elemtp); //p是数据域为data、链域为link的用循环链表表示的队列的尾指针 new(s); //申请新结点。假设有内存空间,否则系统给出出错信息 s ↑.datal.=x;s ↑.link:=p ↑.link; //将s结点入队 p ↑.link:=s;p::s; //尾指针p移至新的队尾 endp; (2)proc deleq(var p:linkedlist,Var x:elemtp); //p是数据域为data、链域为link的用循环链表表示的队列的尾指针,本算法实 //现队列元素的出队,若出队成功,返回出队元素,否则给出失败信息 if(p ↑.link==p)then{writeln(”空队列”);return(0);} //带头结点的循环队列 else{s:=p↑.link ↑.link; //找到队头元素 p ↑.link ↑.link:=s↑.link; //删队头元素 x:=s ↑.data; //返回出队元素 if(p==s)then p:=p ↑.link; //队列中只有一个结点,出队后成为空队列 dispose(s); //回收出队元素所占存储空间 } endp; 提示:上述入队算法中,因链表结构,一般不必考虑空间溢出问题,算法简单。在出队算法中,首先要判断队列是否为空,另外,对出队元素,要判断是否因出队而成为空队。否则,可能导致因删除出队结点而将尾指针删掉成为“悬挂变量”。
解析
转载请注明原文地址:https://kaotiyun.com/show/oLRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
试述明治维新过程中土地改革的主要内容和意义。
简述苏联建立“东方战线”的过程及其影响。
比较工业革命和第二次工业革命,分析英、法、德、美工业革命的过程和特点。
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
为了防止谷贱伤农的现象,()向汉文帝提出了人粟拜爵的建议,准许富人买粟输边,按所输多少授予爵位。这一办法的实行,使农民的处境有所改善。
材料一材科二(戈尔巴乔夫政府)在制定改革政策方针中存在三个严重问题:第一,仍然以优先发展重工业和机器制造业为主的“加速发展战略”作为发展资本密集型产业的主要战略,已不符合时代潮流。现代经济结构已由资本密集型向技术密集型发展……苏联的经济改革对
在下列四本部书中有可能记载“甘薯所在,局面便有半年之粮,民间渐次广种”一语的只能是()。
编写判定给定的二叉树是否是二叉排序树的函数。
编写一个算法,实现以较高的效率从有序顺序表A中删除其值在x和y之间x≤A[i]≤y的所有元素。
随机试题
下列哪种物质不具有酶活性
试述手的肌肉和皮肤的神经支配?
女职工生育的费用,由生育保险基金支付的有()
关于三叉神经痛的临床表现描述错误的是
王某购买了一套二手房,面积为80m2。两年后,王某委托甲房地产经纪公司(以下简称甲公司)出售。甲公司派出房地产经纪人李某与王某接洽并签订了委托合同。合同中约定:由甲公司以王某的名义为其寻找买方,并签订出售合同;出售价格最低为2800元/m2,佣金为成交价的
采购合同根据不同标准可以分为不同类型,按照合同计价方式可以划分为________。
我国高度重视卫生国际援助,先后为许多发展中国家援建医院、培训卫生人才、开展疾病防控,并积极支持联合国在卫生领域的工作。这表明,中国()。①积极促进世界共同发展②在国际社会中发挥着建设性作用③尊重联合国在国际社会中的领导
【国民党临时全国代表大会】
Malariaisworld’ssecondmostcommondiseasecausingover【C1】______infectionsandonemilliondeathseveryyear.【C2】______itis
A、TheDefenceMinister.B、TheEnergyMinister.C、ThePrimeMinister.D、TheScienceMinister.BWhomadethegovernmentannounceme
最新回复
(
0
)