首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设结点结构为(data,link),试用一个全局指针p和某种链接结构实现一个队列,画出示意图,并给出入队addq和出队deleq过程,要求它们的时间复杂性都是O(1)(不计new和dispose时间)。
设结点结构为(data,link),试用一个全局指针p和某种链接结构实现一个队列,画出示意图,并给出入队addq和出队deleq过程,要求它们的时间复杂性都是O(1)(不计new和dispose时间)。
admin
2017-11-14
71
问题
设结点结构为(data,link),试用一个全局指针p和某种链接结构实现一个队列,画出示意图,并给出入队addq和出队deleq过程,要求它们的时间复杂性都是O(1)(不计new和dispose时间)。
选项
答案
本题要求用链接结构实现一个队列,可用链表结构来实现。一般说,由于队列的先进先出性质,所以队列常设队头指针和队尾指针。但题目中仅给出一个“全局指针p”,且要求入队和出队操作的时间复杂性是O(1),因此用只设尾指针的循环链表来实现队列。 (1)proc addq(var p:l。inkedlist,x:elemtp); //p是数据域为data、链域为link的用循环链表表示的队列的尾指针 new(s); //申请新结点。假设有内存空间,否则系统给出出错信息 s ↑.data:=x;s ↑.1ink:=p ↑.link; //将s结点入队 p ↑.1ink:=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/YxRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
古代两河流域最具代表性的文学作品是()。
为加强对台湾地区的管辖和统治,元朝与后来的清朝采取的相同措施有()。
西南军阀跟随孙中山拥护护法运动的目的是()。
1947年,苏联一些农村的干部和群众,为了调动广大群众生产积极性,在管理制度方面进行改革,其主要措施是()。
在1875年宪法中关于法国立法权的叙述,不正确的是()。
关于希腊早期宗教的叙述不正确的是()。
“改土归流”政策的根本目的是()。
“英国不想为捷克牺牲一兵一卒,英国同意任何合理的解决办法,只要不用武力。”下列哪一事件体现了这一主张?
A、1243B、4312C、2134D、3214D图的BFS遍历。D选项,首先访问结点3,与3邻接的结点4、2都未曾访问过,故3后面因该为2、4(或4、2),故D错。
出现下列的情况可能导致死锁的是()。
随机试题
在我国,审计监督属()
A、间隙保持器B、推第一磨牙向远中C、口外前牵引D、斜面导板活动矫正器E、上颌双侧牙合垫矫正器替牙期,下颌骨发育不足,正确的处理为
医师处方并开二地时,应付
A、切牙乳突B、腭皱C、上颌硬区D、翼上颌切迹E、舌系带上颌全口义齿两侧后缘的边界是
E公司2015年销售收入为5000万元。2015年年末净负债及股东权益总计为2500万元(其中股东权益2200万元),预计2016年销售增长率为8%,税后经营净利率为10%,净经营资产周转率保持与2015年一致,净负债的税后利息率为4%,净负债利息按上年末
陆老师在讲授完“细胞的基本结构”一章内容后,给学生提供了相关材料,让学生自己设计方案,完成真核细胞的三维结构模型的制作。陆老师的这种教学行为体现了()。
谈谈你认为计算机死机的原因。
这把锁锈死了。()
Ihave______homeworktodothisevening.
Hasitstopped(rain)______yet?
最新回复
(
0
)