三种排序算法介绍.pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
int a[50]; 数组a中存放的是50个学生的C语言成绩,要求编程实现对这50个成绩按从小到大的顺序进行排序。 三种排序算法: 冒泡排序; 插入排序; 选择排序; 冒泡排序的基本思想 冒泡排序是交换排序中一种简单的排序方法。它的基本思想是对所有相邻数组元素的值进行比效,如果是逆序(a[i]a[i+1]),则将其交换,最终达到有序化。其处理过程为: (1)比较第一个数与第二个数,若为逆序a[0]a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第1趟冒泡排序,结果最大的数被安置在最后一个元素位置上 (2)对前n-1个数进行第2趟冒泡排序,结果使次大的数被安置在第n-1个元素位置 (3)重复上述过程,共经过n-1趟冒泡排序后,排序结束 插入排序的基本思想是:第1遍,将数组a中的a[0]看作有序序列,将a[1]插入这个有序序列中。若a[1]a[0] ,则a[1]插在a[0]的前面,否则a[1]插在a[0]的后面。第2遍,将a[2]插入前两个数组元素组成的有序序列中,得到3个数组元素组成的有序序列。依此类推,继续进行下去,直到将a[n-1]插入到前面的n-1个数组元素组成的有序序列中,最后得到n个数组元素组成的有序序列。 原序列:[23 ]18 29 49 33 47 15 第一趟:[18 23 ]29 49 33 47 15 第二趟:[18 23 29] 49 33 47 15 第三趟:[18 23 29 49] 33 47 15 第四趟:[18 23 29 33 49] 47 15 第五趟:[18 23 29 33 47 49] 15 第六趟:[15 18 23 29 33 47 49] void insert(int a[ ], int n) { int i, j, key;   for (i = 1; i n; i++)  { key = a[i];        for (j = i - 1; j = 0 a[j] key; j--)    { a[j + 1] = a[j];     }     a[j + 1] = key; } } 写出下列序列采用简单选择排序法的过程 40 58 12 33 90 20 80 65 9 8 5 4 2 0 8 9 5 4 2 0 8 5 9 4 2 0 8 5 4 9 2 0 8 5 4 2 9 0 8 5 4 2 0 9 大数沉底,小数起泡 a[0] a[1] a[2] a[3] a[4] a[5] for(i=0;i5;i++) if (a[i]a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t; } 8 5 4 2 0 9 5 8 4 2 0 9 5 4 8 2 0 9 5 4 2 8 0 9 5 4 2 0 8 9 a[0] a[1] a[2] a[3] a[4] a[5] for(i=0;i4;i++) if (a[i]a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t; } 5 4 2 0 8 9 4 5 2 0 8 9 4 2 5 0 8 9 4 2 0 5 8 9 a[0] a[1] a[2] a[3] a[4] a[5] for(i=0;i3;i++) if (a[i]a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t; } 4 2 0 5 8 9 2 4 0 5 8 9 2 0 4 5 8 9 a[0] a[1] a[2] a[3] a[4] a[5] for(i=0;i2;i++) if (a[i]a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t; } 2 0 4 5 8 9 0 2 4 5 8 9 a[0] a[1] a[2] a[3] a[4] a[5] for(i=0;i1;i++) if (a[i]a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t; } for(i=0;i5;i++) if (a[i]a[i+1]) { ……} for(i=0;i4;i++) if (a[i]a[i+1

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档