(zhn)现在的位置Q?/strong> 跨考网频道考研报名正文

数据l构W二章算法设计题 [5]_跨考网

最后更新时_(d)(x)2011-11-14 14:09:50
辅导评Q?a target="_blank" rel="nofollow">暑期集训 在线咨询
复习(fn)紧张Q焦头烂额?逆风轻袭Q来跨考秋季集训营Q帮你寻Ҏ(gu)Q定Ҏ(gu)Q?/span> 了解一?>

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(din)?/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;

 

  }

跨考考研评

班型 定向班型 开班时?/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>

①凡本网注明“稿件来源:(x)跨考网”的所有文字、图片和韌频稿Ӟ版权均属北京学博教育咨询有限公司Q含本网和跨考网Q所有,M媒体、网站或个h未经本网协议授权不得转蝲、链接、{帖或以其他Q何方式复制、发表。已l本|协议授权的媒体、网站,在下载用时必须注明“稿件来源,跨考网”,q者本|将依法q究法律责Q?/p>

②本|未注明“稿件来源:(x)跨考网”的?囄Eg均ؓ(f)转蝲E,本网转蝲仅基于传递更多信息之目的Qƈ不意味着再通{载稿的观Ҏ(gu)证实其内容的真实性。如其他媒体、网站或个h从本|下载用,必须保留本网注明的“稿件来源”,q自负版权等法律责Q。如擅自改为“稿件来源:(x)跨考网”,本网依法追I法律责仅R?/p>

③如本网转蝲E涉?qing)版权等问题Q请作者见E后在两周内速来?sh)与跨考网联系Q电(sh)话:(x)400-883-2220