●第7章 数组.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
  将一组无序的数列重新排列成从小到大或从大到小的顺序,就叫排序。 排序的依据叫做排序的关键字。如按学号排序,学号就叫排序的关键字。   排序的方式有两种:从小到大叫升序,从大到小叫降序。   例如,在管理学生成绩的程序中,可以用一个数组表示某班的学生成绩,并按照从高到低的顺序重新排列,以便确定获得奖学金的学生。 再如高考时,需按总分从高到低(降序)排序,以方便录取。   排序的方法有多种,如冒泡法、希尔法、选择法等。为便于理解,我们先介绍选择法。 补例7-1 假设用户通过键盘输入一个整型数列。请编写一个程序,将其按照从小到大的顺序重新排列。(选择法) 分析:   首先从n个数据中选择一个最小的数据,并将它交换到第1个位置;然后再从后面n-1个数据中选择一个最小的数据,并将它交换到第2个位置;以此类推,直至从最后两个数中选择一个最小的数据,并将它交换到第n-1个位置为止,整个排序操作结束。   即先从所有数中找最小,再在其余数中找最小,依此类推。 #include stdio.h #define N 10 /* 参与排序的数据个数 */ void main() { int a[N+1],i,j,t; printf(\nEnter %d integers:,N); for (i=1; i=N; i++) { scanf(%d, a[i]); } for (i=1; i=N; i++) /* 排序 */ { for (j=i+1; j=N; j++) { if (a[j]a[i]) { t=a[i];a[i]=a[j];a[j]=t; } } /* 后者小就换 */ } printf(\nOrdering list is:); /* 输出排序后的结果 */ for (i=1; i=N; i++) { printf(%5d, a[i]); } printf(\n); }   第一趟:i=N-1 次 第二趟:i=N-2次 9 8 8 8 8 8 8 5 5 5 5 8 9 5 5 5 5 5 8 4 4 4 5 5 9 4 4 4 4 4 8 2 2 4 4 4 9 2 2 2 2 2 8 0 2 2 2 2 9 0 0 0 0 0 8 0 0 0 0 0 9 (2) 若有N个数,要进行N-1趟的比较交换。若用j表示比较的趟数,所 以j=1--N-1 。 (3) 第一趟要比N-1次,第二趟要比N-2次,……,第j趟要比N-j次。若 用i表示每趟比较的次数,则i=1--N-j 次。 查找问题   查找就是在一组数据中搜索是否存在满足给定条件的数据。如果存在,则表示查找成功,给出成功的标志;否则表示查找不成功,给出失败的标志。   我们介绍两种查找方法:   (1)顺序查找:顺序查找就是从第一个数据到最后一个数据逐个进行排查,看是否满足给定条件。这种方法的缺点是效率低,若有N个数据,平均搜索次数为N/2;优点是N个数据不用事先排序。   (2)对分查找(书上叫二分查找):对分查找的特点

文档评论(0)

智慧书苑 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档