数据l构W二章算法设计题 [5]_跨考网
1. 已知不带头结点的U性链?/span>listQ链表中l点构造ؓ(f)Q?/span>data?/span>linkQ,其中data为数据域Q?/span>link为指针域。请写一法Q将该链表按l点数据域的值的大小从小到大重新链接。要求链接过E中不得使用除该链表以外的Q何链l点I间。?a target="_blank">北京航空航天大学 1998 五(15分)?/span>
【参考答案?/span>
[题目分析]本题实质上是一个排序问题,要求“不得用除该链表结点以外的M铄点空间”。链表上的排序采用直接插入排序比较方便,即首先假定第一个结Ҏ(gu)序,然后Q从W二个结点开始,依次插入到前面有序链表中Q最l达到整个链表有序?/span>
LinkedList LinkListSort(LinkedList list)
?/span>list是不带头l点的线性链表,链表l点构造ؓ(f)data?/span>link两个域,data是数据域Q?/span>link是指针域。本法该链表按结Ҏ(gu)据域的值的大小Q从到大重新链接?/span>
{p=list->link; ?/span>p是工作指针,指向待排序的当前元素?/span>
list->link=null;∥假定第一个元素有序,即链表中现只有一个结炏V?/span>
while(p!=null)
{r=p->link; ?/span>r?/span>p的后l?/span>
q=list;
if(q->data>p->data)∥处理待排序l点p比第一个元素结点小的情c?/span>
{p->link=list;
list=p;∥链表指针指向最元素?/span>
}
else∥查扑օ素值最的l点?/span>
{while(q->link!=null&&q->link->data<p->data)q=q->link;
p->link=q->link;∥将当前排序l点铑օ有序链表中?/span>
q->link=p; }
p=r;?/span>p指向下个待排序结炏V?/span>
}
}
[法讨论]法旉复杂度的分析与用序存储l构时的情况相同。但序存储l构第i(i>1)个元素插入到前面W?/span>1至第i-1个元素的有序表时Q是第i个元素先与第i-1个元素比较。而在链表最x况均是和W一元素比较。两U存储结构下最?jng)_最差情늚比较ơ数相同Q在链表情况下,不移动元素,而是修改l点指针。另一说明是,本题中线性链?/span>list不带头结点,而且要求“不得用除该链表以外的M铄点空间“,所以处理复杂,需要考虑当前l点元素值比有序链表W一l点的元素D的情况Q这时要修改链表指针list。如?/span>list是头l点的指针,则相应处理要单些Q其法片段如下Q?/span>
p=list->link;?/span>p指向W一元素l点?/span>
list->link=null;∥有序链表初始化为空
while(p!=null)
{r=p->link;∥保存后l?/span>
q=list;
while(q->link!=null && q->link->data<p->data)q=q->link;
p->link=q->link;
q->link=p;
q=r;
}
2022考研初复试已l接q尾壎ͼ考研学子全面q入2023届备?/b>Q跨考ؓ(f)23考研的考生准备?0大课包全E准备、全q复?fn)备考计划、目标院校专业辅对{全真复试模拟练?fn)和全程针对性指|2023考研的小伙伴针也已经开始择校和复习(fn)了,跨考考研畅学5.0版本全新升Q无Z在校在家都可以更自如的完成你的考研复习(fn)Q?/a>暑假集训?/span>带来了院校专业初步选择Q明方向;考研备考全q规划,核心知识点入门;个性化制定备考方案,助你赢在赯U,早出发一点离成功更q一点!
考研院校专业选择和考研复习(fn)计划 | |||
2023备考学?/td> | 2023U上U下随时学习(fn) | 34所自划UK校考研复试分数U汇?/td> | |
2022考研复试最全信息整?/a> | 全国各招生院校考研复试分数U汇?/a> | ||
2023全日制封闭训l?/span> | 全国各招生院校考研调剂信息汇?/a> | ||
2023考研先知 | 考研考试U目有哪些? | 如何正确看待考研分数U? | |
不同院校相同专业如何选择更适合自己?/a> | 从就业说考研如何择专业? | ||
手把手教你如何选专业? | 高校研究生教育各学科门类排行?/a> |
相关推荐
跨考考研评
班型 | 定向班型 | 开班时?/td> | 高定?/td> | 标准?/td> | 评介绍 | 咨询 |
U季集训 | 冲刺?/td> | 9.10-12.20 | 168000 | 24800?/td> | 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定? | |
2023集训畅学 | 非定向(政英?数政qQ?/td> | 每月20?/td> | 22800?协议? | 13800?/td> | 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td> |