X
跨考考研 搜一搜
跨考考研
跨考考研
跨考考研
跨考考研
数据结构第二章算法设计题 [6]_跨考网
跨考考研2011-11-14
来源跨考网整理
跨考考研

 1. L为单链表的头结点地址,其数据结点的数据都是正整数且无相同的,试设计利用直接插入的原则把该链表整理成数据递增的有序单链表的算法。【东北大学 1996 (14)

 

  类似本题的另外叙述有:

 

  设一单向链表的头指针为head,链表的记录中包含着整数类型的key,试设计算法,将此链表的记录按照key递增的次序进行就地排序.【中科院计算所 1999 五、110分)】

 

  【参考答案】

 

  [题目分析]本题明确指出单链表带头结点,其结点数据是正整数且不相同,要求利用直接插入原则把链表整理成递增有序链表。这就要求从第二结点开释,将各结点依次插入到有序链表中。

 

  LinkedList LinkListInsertSort(LinkedList la)

 

  ∥la是带头结点的单链表,其数据域是正整数。本算法利用直接插入原则将链表整理成递增的有序链表。

 

  {if(la->next!=null)∥链表不为空表。

 

  {p=la->next->next;p指向第一结点的后继。

 

  la->next->next=null;∥直接插入原则认为第一元素有序,然后从第二元素起依次插入。

 

  while(p!=null)

 

  {r=p->next;∥暂存p的后继。

 

  q=la;

 

  while(q->next!=null&&q->next->data<p->data)q=q->next;∥查找插入位置。

 

  p->next=q->next;∥将p结点链入链表。

 

  q->next=p;

 

  p=r; }

 

  与本题有类似叙述的题的解答:

 

  本题也是链表排序问题,虽没象上题那样明确要求“利用直接插入的原则”来排序,仍可用上述算法求解,这里不再赘述。

查看更多

  2022考研初复试已经接近尾声,考研学子全面进入2023届备考,跨考为23考研的考生准备了10大课包全程准备、全年复习备考计划、目标院校专业辅导、全真复试模拟练习和全程针对性指导;2023考研的小伙伴针也已经开始择校和复习了,跨考考研畅学5.0版本全新升级,无论你在校在家都可以更自如的完成你的考研复习,暑假集训营带来了院校专业初步选择,明确方向;考研备考全年规划,核心知识点入门;个性化制定备考方案,助你赢在起跑线,早出发一点离成功就更近一点!

点击右侧咨询或直接前往了解更多

考研院校专业选择和考研复习计划
2023备考学习 2023线上线下随时学习 34所自划线院校考研复试分数线汇总
2022考研复试最全信息整理 全国各招生院校考研复试分数线汇总
2023全日制封闭训练 全国各招生院校考研调剂信息汇总
2023考研先知 考研考试科目有哪些? 如何正确看待考研分数线?
不同院校相同专业如何选择更适合自己的 从就业说考研如何择专业?
手把手教你如何选专业? 高校研究生教育各学科门类排行榜

当前位置: 首页> 频道> 考研报名> 正文
考研报名相关栏目
跨考考研
考研热点
推荐阅读
推荐课程
跨考考研
2022全年魔鬼集训营二期
跨考考研开班时间:2021.4.20
在线咨询跨考考研
跨考考研
2022大三抢先学
跨考考研开班时间:每月20日
在线咨询跨考考研
Copyright©2008-2020 北京尚学硕博教育咨询有限公司
公司地址:北京市西城区宣武门庄胜广场中央办公楼南翼19层
客服电话:400-833-2220
跨考考研