首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知一个带有头结点的单链表L,其结点结构由两部分组成:数据域data,指针域link。设计一个算法,以最高效的方法实现在单链表中删除数据域最小值结点。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处
已知一个带有头结点的单链表L,其结点结构由两部分组成:数据域data,指针域link。设计一个算法,以最高效的方法实现在单链表中删除数据域最小值结点。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处
admin
2019-08-01
80
问题
已知一个带有头结点的单链表L,其结点结构由两部分组成:数据域data,指针域link。设计一个算法,以最高效的方法实现在单链表中删除数据域最小值结点。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
(1)算法的基本思想:单链表中删除结点,为使结点删除后不出现“断链”,应知道被删结点的前驱。而“最小值结点”是在遍历整个链表后才能知道。所以算法应首先遍历链表,求得最小值结点及其前驱。遍历结束后再执行删除操作。 (2)算法的设计如下: typedef struct LNode{ int data: struct LNode * next; }LNode*Linkedlist; LinkedList Delete(LinkedList L){//L是带头结点的单链表,本算法删除其最小值结点 Linkedlist*p,*q,*pre: P=L一>next; //p为工作指针,指向待处理的结点。假定链表非空 pre=L; //pre指向最小值结点的前驱 q=P; //q指向最小值结点,初始假定第一元素结点是最小值结点 while(p一>next!=null){ if(P一>next一>data<q一>data){pre=P; q=P->next;} //查最小值结点 p=p一>next; //指针后移 } pre一>next=q->next; //从链表上删除最小值结点 free(q): //释放最小值结点空间 }//结束算法delete
解析
转载请注明原文地址:https://www.kaotiyun.com/show/iCCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
有研究者提出,1850年以后的34年中,流人中国的白银是之前34年的两倍。出现这一现象的原因是()
在下面哪本著作中以异化劳动理论的形式阐述了一种新的科学世界观的雏形?()
一战后,法国对外政策的特点是()。
记载了用竿标日测影以求日高的方法,并认识了勾股定理的算书是()。
1543年发表解剖学专著《人体结构论》的是()。
标志着整风运动开始向反“右派”斗争转变的重要文件是()。
中国第一个资产阶级革命团体兴中会建立的时间是()。
最早以立法的形式巩固大化改新成果的法令是()。
以下()协议完成了从网卡到IP地址的映射。
随机试题
A.和解表里,温阳达邪B.祛邪截疟,和解表里C.解毒除瘴,清热保津D.清热解表,和解化邪E.祛邪截疟,燥湿化浊
以下关于光束,错误的是
基准收益率与财务净现值的关系是()。
对于非盈利性项目财务分析方法用()指标。
下列方法中,可用于施工成本定性预测和定量预测的方法分别是()。
安全及劳动卫生规程未对用人单位提出严格要求的是()。
在给定的时间区间和置信区间内,投资组合损失的期望值被称为()。
某基金于2015年1月1日的单位净值为3元,2015年12月31日的单位净值为5元。期间该基金曾于2015年4月1日每份额派发红利0.1元。该基金2015年3月31日(除息日前一天)的单位净值为4.8元,则该基金在这段时间内的时间加权收益率为()。
“二战期间,美国研制了原子弹并用于实践;1946年美国投入的第一台电子计算机最初是用于计算炮弹弹道;德国人研制成功的远程液体火箭是用于空袭英国的。”以上史实说明()。
Whatisitthattheauthorwantsto______tohisreadersthroughthestory?
最新回复
(
0
)