各种排序的原函数.ppt

  1. 1、本文档共118页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.9 排序 二、插入排序 基本思想是:每步将一个待排序的记录,按关键码值的大小插入到前面已排序的适当位置上,直到全部插完止 1. 直接插入排序:在排好的序列中用顺序法查找插入位置,找到后将其后记录后移一个位置,插入新记录。排序n个记录的文件,关键码比较次数为n2量级,记录移动个数也为n2量级。 2. 二分法插入排序:在已排好序的序列中使用二分法查找插入位置,找到后移动其后记录插入新记录。关键字比较次数降为nlog2n量级,记录移动个数仍为n2量级。 2.9 排序 三、交换排序 基本思想是:两两比较待排序记录的关键码,并交换不满足顺序要求的偶 对,直至全部满足为止。 1、起泡排序 设存在一组记录K1,K2,…,Kn, 方法: 第一趟:K1与K2比较,如K1K2,则两者交换位置; K2与K3比较, 如K2K3,则两者交换位置; ┇ Kn-1与Kn比较,如Kn-1Kn,则两者交换位置; 第一趟将最大关键字放在最后。 2.9 排序 第二趟:对K1,…,Kn-1起泡排序; 第i趟:对K1,…,Kn-i+1起泡排序,将最大关键字交换到第n-i+1的位置上; 最多n-1趟(逆序的情况下) 判断起泡结束的条件: 在一趟排序中没有进行过交换元素的操作(设置一个变量)。 例: 390 205 182 45 235 205 182 45 235 390 (1) 排序过程中关键字大的记录 182 45 205 235 390 (2) 好像气泡一样逐渐浮起,所                         45 182 205 235 390 (3)  以称为“起泡排序” 45 182 205 235 390 (4) 2.9 排序 void sb_sort(int e[],int n)//起泡排序 //e[]----存储线性表的数组 //n------节点个数 //p-----某趟最后进行节点交换的位置,p=0则结束,说明无交换。 { int j,p,h,t; for(h=n-1;h0;h=p){//最多n-1趟 for(p=j=0;jh;j++)//每趟两两比较 if(e[j]e[j+1])//交换位置 { t=e[j]; e[j]=e[j+1]; e[j+1]=t; p=j;//记录交换位置 } } } 2.9 排序 效率 最好:正序序列,只要一趟起泡排序,比较n-1次(O(n)),交换0次; 最坏:逆序序列,需n-1趟起泡排序,比较次数等于交换次数,为               O(n2) 因此起泡排序适用于基本有序序列。 2.9 排序 2、快速排序 思路:从序列中选一个分划元素,经过一趟快速排序分 成三部分,分划元素前面的元素关键字值≤分划元素的关 键字值,分划元素后面的元素关键字值≥分划元素的关键 字值,再分别对两个子序列进行快速排序,直至子序列只 剩一个元素或不含元素为止。 采用递归算法,分划元素一般取序列中第一个元素。 2.9 排序 步骤: (1)选取表中一个元素r[k](一般选第1个元素),令x=r[k]称为控制关键字; (2)设置两个指示器i,j,分别表示线性表第1个和最后一个元素位置; (3)将j逐渐减小,逐次比较r[j]与x,直到出现一个r[j]x,然后将r[j]移到r[i]位置;将i逐渐增大,逐次比较r[i]与x,直到出现一个r[i]x,然后将r[i]移到r[j]位置; 直到i=j为止,最后将x移到r[j]位置,完成一趟排序。 (4)再分别对两个子序列进行快速排序,直至子序列只剩一个元素或不含元素为止。 2.9 排序 例: 46 55 13 42 94 5 17 70 i j 17 55 13 42 94 5 17 70 i j 17 55 13 42 94 5 55 70 i j 17 5 13 42 94 5 55 70

您可能关注的文档

文档评论(0)

精华文档888 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档