首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有一个不带头结点的单链表list,链表中结点都有两个域:数据域data和指针域Iink。已知初始时该单链表无序,请设计一个算法将该链表按结点数据域的值的大小,将其从小到大依次重新链接,在链接过程中不得使用除该链表以外的任何链结点空间。要求: (1)
有一个不带头结点的单链表list,链表中结点都有两个域:数据域data和指针域Iink。已知初始时该单链表无序,请设计一个算法将该链表按结点数据域的值的大小,将其从小到大依次重新链接,在链接过程中不得使用除该链表以外的任何链结点空间。要求: (1)
admin
2017-01-04
72
问题
有一个不带头结点的单链表list,链表中结点都有两个域:数据域data和指针域Iink。已知初始时该单链表无序,请设计一个算法将该链表按结点数据域的值的大小,将其从小到大依次重新链接,在链接过程中不得使用除该链表以外的任何链结点空间。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
(1)算法的基本设计思想:本题实质上是一个排序问题。链表上的排序采用直接插入排序比较方便,即首先假定第一个结点有序,然后,从第二个结点开始,依次插入到前面有序链表中,最终达到整个链表有序。 (2)算法设计如下: typedef struct LNode{ int data; struct LNode *link; }*linkedlist; LinkedList LinkListSort(LinkedList list){ Lnode*p,*q; p=list一>link; //p是工作指针,指向待排序的当前元素 list一>link=null; //假定第一个元素有序,即链表中现只有一个结点 while(P!=null)f r=p一>link; //r是P的后继 q=list; if(q一>data>p一>data){ //处理待排序结点P比第一个元素结点小的情况 p一>link=list: list=p;//链表指针指向最小元素 } else{ //查找元素值最小的结点 while(q一>link==null&&q一>link一>data<p一>data)q=q一>link; p一>link=q一>link;//将当前排序结点链入有序链表中 q一>link=P; } P=r; //p指向下个待排序结点 } }
解析
转载请注明原文地址:https://kaotiyun.com/show/YhRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
广西壮族自治区的设立时间是()。
下列改革内容不是在《天朝天亩制度》中提出的一项是()
法国《人权宣言》的主要内容有哪些?
我国对资本主义工商业采取和平赎买的政策内容和成功意义。
西汉末年,()对太初历作了系统的解释,并调整为三统历。这是中国第一部记载完整的历法。
全国高校院系调整的具体时间是()。
中共八届九中全会提出的恢复和调整国民经济的方针是()。
()是二战后一个调整各国贸易关系的法律框架,又是一个进行多边贸易谈判、争夺市场的场所,还是一个调解和解决争议的机构。
罗斯福新政的中心措施是对()的调整。
随机试题
治疗流行性腮腺炎热毒壅盛证首选方剂为( )
A、淋法B、洗法C、泡法D、漂法E、润法质地疏松和成分易随水流失的药材软化用()
对下列国家出资企业的管理者,履行出资人职责的机构依法有权任免的是()。
“自我概念比真实自我对个体的行为及人格有更为重要的作用”,这是()的观点。
下列哪种情形人民政府及有关部门不能收回国有土地使用权?
A、 B、 C、 D、 A每个图形的封闭区域数都是3,因此选择A。
Googlerecentlyintroducedanewservicethataddssocial-networkingfeaturestoitspopularGmailsystem.Theserviceiscalled
设数据集合为D={1,2,3,4,5,6}。下列数据结构B=(D,R)中为线性结构的是()
为考生文件夹下PWELL文件夹中的BAW.EXE文件建立名为KBAW的快捷方式,并存放在考生文件夹下。
A、Theyneedmorehelpfromsocietyandhome.B、Theirlifeismiserableanddesperate.C、Theycanseekforafreshstartinlife.
最新回复
(
0
)