第5章-数组精品.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
选择排序法 第0步:a[0]分别与a[1]、 a[2]、…… a[j] …… a[9]比较,若a[0]a[j] ,则两者交换。这样a[0]中是最小数。 第1步:a[1]分别与a[2]、a[3]、……a[j]……a[9]比较,若a[1]a[j],则两者交换。这样a[1]中是第二小的数。 …… 第8步:a[8]与a[9]比较,若a[8]a[9],则两者交换。这样a[9]是最大数。 0 1 2 3 4 5 6 7 8 9 …… for(i=0; iN-1; i++) for(j=i+1; jN; j++) if(a[i] a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } N个整数的选择排序关键代码 实验16.1.4 插入排序法 算法思想: 首先将a[0]作为一个已排好序的子数列,然后依次将a[1]、 a[2]、…… 、a[i]、 …… a[9]插入到已排序的的子数列中。 插入a[i]的步骤如下: (1)将a[i]的值保存到变量t中 (2)寻找a[i]的插入位置k:若a[i]a[0],则k=0,否则将a[i]依次与a[0]、a[1]、…a[j]…、a[i-1]比较,若a[i]=a[j],则使k=j+1 (3)为a[i]腾出位置:依次将a[i-1]→a[i]、a[i-2]→a[i-1] ……、 a[k]→a[k+1] (4)将变量t的值送到a[k]中 0 k i for(i=1;i=N-1;i++) { (1)将a[i]保存到t中 (2)寻找插入位置k (3)为a[i]腾出位置 (4)将t保存到a[k]中 } N个整数的插入排序关键代码 5.2.1 多维数组的定义 int a[4][3]; a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] a[2][0] a[2][1] a[2][2] a[3][0] a[3][1] a[3][2] a[0] 值为 a[0][0] a[1] 值为 a[1][0] a[2] 值为 a[2][0] a[3] 值为 a[3][0] a 值为 a[0] 例5.11 int a[3][4]; a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0] 值为 a[0][0] a[1] 值为 a[1][0] a[2] 值为 a[2][0] a 值为a[0] 5.2 多维数组 注意事项: (1)二维数组名如果出现在表达式中,它的值及其含义是该数组首个元素的地址。 (2)数组名+n的值是数组第n个元素的地址。 (3)对数组名取地址,得到的是整个数组的地址。 对于一维数组a: a a[0] a 它们的值相同 对于二维数组a: a a[0] a a[0] a[0][0] 它们的值相同 5.2 多维数组 5.2.2 多维数组元素的引用 多维数组的引用方式与一维数组的引用方式基本相同,可以使用下标法也可以使用指针法 5.2 多维数组 5.2.3 多维数组的初始化 初始化一般形式为: 类型 数组名[整型常量表达式1][整型常量表达式2] [整型常量表达式3]={初值表}; 多维数组的初始化方法。 完全初始化 部分初始化 省略数组长度的完全初始化 。 5.2 多维数组 5.2.4 程序举例 【例5.17】编程实现矩阵的转置(即行列互换)。 1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9 5.2 多维数组 5.2.4 程序举例 【例5.18】编程分别求矩阵的两个对角线上元素值之和。 1 2 3 4 5 6 7 8 9 5.3 字符数组与字符串 5.3.1 字符数组与字符串的关系 字符串是以字符’\0’作为结束标志的字符数组 下列三种定义方式等价: char str[9]={‘C’,’O’,’M’,’P’,’U’,’T’,’E’,’R’ } char str[9]=“COMPUTER”; char str[]=“COMPUTER”; 0 1 2 3 4 5 6 7 8 ‘C’ ‘O’ ‘M’ ‘P’ ‘U’ ‘T’ ‘E’ ‘R’ ‘\0’ 5.3 字符数组与字符串 5.3.2 字符串的输入输出 使用scanf函数输入字符串 使用printf函数输出字符串 使用gets函数输入字符串 使用puts函数输入字符串 使用scanf函数输入

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档