10章-课件(PPT-精).ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10章-课件(PPT-精)

* 数据结构 * 三、表插入排序 为了减少在排序过程中进行的“移动”记录的操作,必须改变排序过程中采用的存储结构。利用静态链表进行排序,并在排序完成之后,一次性地调整各个记录相互之间的位置,即将每个记录都调整到它们所应该在 的位置上。 #define SIZE 100 typedef struct{ RcdType rc; /*元素类型*/ int next; /*指针项*/ }SLNode; /*表结点类型*/ typedef struct{ SLNode r[SIZE]; /*0号作为头结点*/ int length; /*表长度*/ }SLinkListType; /*静态链表类型*/ 0 1 2 3 4 5 6 7 8 MAXINT 49 38 65 97 76 13 27 49 0 - - - - - - - - ? MAXINT 49 38 65 97 76 13 27 49 1 0 - - - - - - - MAXINT 49 38 65 97 76 13 27 49 2 0 1 - - - - - - MAXINT 49 38 65 97 76 13 27 49 2 3 1 0 - - - - - 0 1 2 3 4 5 6 7 8 MAXINT 49 38 65 97 76 13 27 49 2 3 1 4 0 - - - - MAXINT 49 38 65 97 76 13 27 49 2 3 1 5 0 4 - - - MAXINT 49 38 65 97 76 13 27 49 6 3 1 5 0 4 2 - - 0 1 2 3 4 5 6 7 8 MAXINT 49 38 65 97 76 13 27 49 6 3 1 5 0 4 7 2 - MAXINT 49 38 65 97 76 13 27 49 6 8 1 5 0 4 7 2 3 void LInsertionSort (SLinkListType SL){ // 对记录序列SL.r[1..n]作表插入排序 SL.r[0].key = MAXINT ; SL.r[0].next = 1; SL.r[1].next = 0; for ( i=2; i=SL.length; ++i ) for ( j=0, k = SL.r[0].next;SL.r[k].key=SL.r[i].key ; j=k, k=SL.r[k].next ); { SL.r[j].next = i; SL.r[i].next = k; } // 结点i插入在结点j和结点k之间 }// LinsertionSort 如何在排序之后调整记录序列? MAXINT 49 38 65 97 76 13 27 52 6 8 1 5 0 4 7 2 3 0 1 2 3 4 5 6 7 8 MAXINT 13 38 65 97 76 49 27 52 6 (6) 1 5 0 4 8 2 3 MAXINT 13 27 65 97 76 49 38 52 6 (6) (7) 5 0 4 8 1 3 MAXINT 13 27 38 97 76 49 65 52 6 (6) (7) (7) 0 4 8 5 3 MAXINT 13 27 38 49 76 97 65 52 6 (6) (7) (7) (6) 4 0 5 3 MA

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档