首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设结点结构为(data,link),试用一个全局指针p和某种链接结构实现一个队列,画出示意图,并给出入队addq和出队deleq过程,要求它们的时间复杂性都是O(1)(不计new和dispose时间)。
设结点结构为(data,link),试用一个全局指针p和某种链接结构实现一个队列,画出示意图,并给出入队addq和出队deleq过程,要求它们的时间复杂性都是O(1)(不计new和dispose时间)。
admin
2017-01-04
48
问题
设结点结构为(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
学硕统考专业
相关试题推荐
论述近代法国专制制度形成的过程及其影响
试述明治维新过程中土地改革的主要内容和意义。
试析凡尔赛一华盛顿体系的实质及其对一战后国际关系的影响。
标志着南京国民政府在全国范围内形式上完成统一的事件是()。
宁夏回族自治区的设立时间是()。
巴黎和会召开的时间是()。
下列不是开始于战国时期的制度是()。
北约和华约两个组织对峙近半个世纪,其影响是()。
1908年安庆新军起义是由()领导的。
下列叙述正确的个数是()。 1)向二叉排序树中插入一个结点,所需比较的次数可能大于此二叉排序树的高度。2)对B-树中任一非叶子结点中的某关键字K,比K小的最大关键字和比K大的最小关键字一定都在叶子结点中。3)所谓平衡二叉树是指左、右
随机试题
关于书刊版面字数,说法正确的有()。
下列哪一项不属于逆转录酶的功能:()
胸外伤后,胸壁软化(浮动胸)最主要的原因是
引起特发性血小板减少性紫癜发病的相关因素中不包括
下列调肝和胃药中,何药兼活血散瘀
植被样方调查中,表示植被中的重要值为()。
20×7年6月3日,甲企业购买了乙企业20×7年6月1日发行的、账面价值为2000万元的公司债券,购买价格为1970万元。债券票面年利率为5%,于次年6月15日支付上年度利息,到期归还本金。甲企业将该笔交易划分为交易性金融资产,购买时支付交易费用10万元,
下列各项中,属于投资性房地产的有()。
きょうは花火大会があるから()食事をして出かけましょう。
A)Toawriter,self-publishingisanincrediblypowerfulandalluringconcept.Onthesimplestlevel,it’sanintriguingsoluti
最新回复
(
0
)