程序设计基础(上) 张立红 13405330459(88028) QQ:2653453357 9#501
程序设计基础(上) 张立红 13405330459(88028) QQ:2653453357 9#501
第8章 数组
第 8 章 数 组
本章知识点 8.1一维数组的定义、引用与初始化 “数组名+一维下标”-表示数据 8.2一维数组的应用 8.3二维数组 “数组名+二维下标”表示数据 8.4数组与函数
本章知识点 8.1 一维数组的定义、引用与初始化 “数组名+一维下标”-表示数据 8.2 一维数组的应用 8.3 二维数组 “数组名+二维下标”-表示数据 8.4 数组与函数
8.2一维数组的应用 8.2.3排序问题一P152 【例87】选择法排序:用选择法将10个整数从小到大排序输出。 排序算法很多-一最基础的是选择法排序。 三个数排序的算法: ① intx,y,z,t;∥要求3个数从小到大 ② scanf("%d %d %d",&x,&y,&z); ③ if(X>y)) ④ {t=X;X=y;y=t切 从3个数找最小值 ⑤ if (x>Z) 存入X ⑥ {t=z;z=x;x=t;) ⑦ if (y>z) 从2个数找最小 ⑧ {t=y;y=z;z=ti) 值存入y ⑨ printf("%d,%d,%dIn",x,y,z); 恩 4/115
【例8.7】选择法排序:用选择法将10个整数从小到大排序输出。 排序算法很多-最基础的是选择法排序。 4/115 8.2.3 排序问题—P152 8.2 一维数组的应用 三个数排序的算法: ① int x,y,z,t; // 要求3个数从小到大 ② scanf("%d %d %d",&x,&y,&z); ③ if (x>y) ④ { t = x; x = y; y = t;} ⑤ if (x>z) ⑥ { t = z; z = x; x = t;} ⑦ if (y>z) ⑧ { t = y; y = z; z = t ;} ⑨ printf("%d,%d,%d\n",x,y,z); 从3个数找最小值 存入x 从2个数找最小 值 存入 y
3个数的排序过程: (1)通过2次比较,最小数与第1个数交换一第一趟选 择排序的结果:3个数中最小数存入第1个元素。 (2)通过1次比较,将剩余的2个数中的小数与第2个数交 换一第二趟选择排序结果:3个数中次小数存入第2个元素。 (3)第3个数就是最大值,放在第3个元素位置上。 结论:3个数的排序一一是2次找最小值的过程
3个数的排序过程: (1) 通过 2 次比较,最小数与第 1 个数交换—第一趟选 择排序的结果:3个数中最小数存入第 1 个元素。 (2) 通过1次比较,将剩余的2个数中的小数与第 2个数交 换—第二趟选择排序结果: 3个数中次小数存入第2个元素。 (3) 第3个数就是最大值,放在第3个元素位置上。 结论:3个数的排序-是2次找最小值的过程