第8章 数组算法.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文档。上传文档
查看更多
第8章 数组算法

Types, Operators and Expressions 内容提要 数据分类 数据排序:交换法、选择法、冒泡法、插入法 数据检索:顺序查找、二分法查找 (折半查找 ) 矩阵的常用算法 交换法排序算法 交换法排序 for (i=0; in-1; i++) { for (j=i+1; jn; j++) { if (score[j] score[i]) 交换成绩score[j]和score[i], 交换学号num[j]和num[i]; } } 选择法排序 选择法排序 for (i=0; in-1; i++) { k = i; for (j=i+1; jn; j++) { if (score[j] score[k]) 记录此轮比较中最高分的元素下标 k = j; 若k中记录的最大数不在位置i,则 交换成绩score[j]和score[i], 交换学号num[j]和num[i]; } } 折半查找 int BinSearch(long a[], int n, long x) { int low, high, mid; low = 0; high = n - 1; while (low = high) { mid = (high + low) / 2; if (x a[mid]) { low = mid + 1; } else if (x a[mid]) { high = mid - 1; } else { return (mid); } } return(-1); } 例:插入数据 关键是:找到该插入的位置,然后依次移动插入位置及其后的所有元素腾出这一位置放入待插入的元素 例:向有序的数组中插入数据 void Inseart(int a[], int n, int x) { int i, pos; for (i=0; (i n) (x a[i]); i++) { } pos = i; for (i = n-1; i = pos; i--) { a[i+1] = a[i]; /*向后移动*/ } a[pos] = x; /*插入元素x到位置pos*/ } 这一章我们学到了 了解了在什么情况下使用数组这种数据类型 向函数传递一维数组和二维数组的方法 用数组名作为函数参数和用简单变量作为函数参数的不同之处 数据排序:交换法、选择法、冒泡法、插入法 数据检索:顺序查找、二分法查找 (折半查找 ) 数据分类 习题 P240 习题8.1、8.2、8.3、8.4、……、8.12 数组选择题 数组选择题 数组选择题 编写程序:数组a(1)……a(5),升序,插入排序法 初始态:9 4 7 5 2 排序后:2 4 5 7 9 用printf()输出 A数组的初始序列:9 4 7 5 2 第1趟:4 9 7 5 2 第2趟:4 7 9 5 2 第3趟:4 5 7 9 2 第4趟:2 4 5 7 9 A数组排序后序列:2 4 5 7 9 课堂作业,将程序写在纸上,并注明学号、姓名,10分钟。 编写程序:数组a[0]……a[9],降序,插入排序法 初始态:使用随机函数,rand()和srand(),生成10个不同的两位正整数,存入数组a。 用printf()输出 A数组的初始序列: 第1趟: 第2趟: 第3趟: 第4趟: A数组排序后序列: 课堂作业,将程序写在纸上,并注明学号、姓名,10分钟。 使用子函数 Void Input(……) Void Sort(……) Void Output(……) 常用的查找算法 1: 顺序查找 算法思想: 1.顺序查找表现是把待查找的数与数组中的数从头到尾逐一比较 2.用一变量 i 来表示当前比较的位置,初始为0,当待查找的数与数组中 i 位置的元素相等时即可结束,否则 i=i+1 继续比较,当 i大于 数组的最大长度,也应该结束   注意退出的两

文档评论(0)

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

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

1亿VIP精品文档

相关文档