622一维数组的初始化 今初始化方式 inta[5}={1,2,34,5} 等价于:a[0]=1;a[l=2;a[2]=3;a[3]4;a[4]=5; 今说明: 数组不初始化,其元素值为随机数 ●对stat数组元素不赋初值。系统会自动赋以0值 只给部分数组元素赋初值 当全部数组元素赋初值时,可不指定数组长度 TAT inta={1,2,3,4,5,6} 编译系统根据初值个数确定数组维数厂O;
❖初始化方式 在定义数组时,为数组元素赋初值 (在编译阶段使之得到初值) int a[5]={1,2,3,4,5}; 等价于:a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5; ❖说明: ⚫数组不初始化,其元素值为随机数 ⚫对static数组元素不赋初值,系统会自动赋以0值 ⚫当全部数组元素赋初值时,可不指定数组长度 如 int a[5]={6,2,3}; 等价于: a[0]=6; a[1]=2;a[2]=3; a[3]=0; a[4]=0; 如 int a[3]={6,2,3,5,1}; () static int a[5]; 等价于:a[0]=0; a[1]=0; a[2]=0; a[3]=0; a[4]=0; ⚫只给部分数组元素赋初值 int a[]={1,2,3,4,5,6}; 编译系统根据初值个数确定数组维数 6.2.2一维数组的初始化
例用冒泡法对10个数排序 排序过程: (1)比较第一个数与第二个数,若为逆序a0>a1,则交换;然 后比较第二个数与第三个数;依次类推,直至第n-1个数和第 n个数比较为止—第一趟冒泡排序,结果最大的数被安置在 最后一个元素位置上 (2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在 第n-1个元素位置 (3)重复上述过程,共经过n-趟冒泡排序后,排序结束
排序过程: (1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然 后比较第二个数与第三个数;依次类推,直至第n-1个数和第 n个数比较为止——第一趟冒泡排序,结果最大的数被安置在 最后一个元素位置上 (2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在 第n-1个元素位置 (3)重复上述过程,共经过n-1趟冒泡排序后,排序结束 例 用冒泡法对10个数排序
例38 38383813 1313 13 49494913 272727 27 6565 132730 3030 76 38 13273038 1376 30 4949 2730 65 65 例用冒泡法对10个数排序 3076 76 (图解) 9797 程序见P125 初第第第第第第第 始 五六七 关趟趟耥趟趟趟趟 键 字 n=8
例 38 49 65 76 13 27 30 97第一趟 38 49 65 13 27 30 76第二趟 38 49 13 27 30 65第三趟 38 13 27 30 49第四趟 13 27 30 38第五趟 13 27 30第六趟 49 38 65 97 76 13 27 30初始关键字 n=8 38 49 76 9713 97 97 27 30 97 13 76 7676 30 13 2765 3065 65 13 13 49 3049 2749 2738 308 38 13 27第七趟 例 用冒泡法对10个数排序 (图解) 程序见 P125
例用简单选择法对10个数排序 排序过程: (1)首先通过n-1次比较,从n个数中找出最小的,将它与第一个数 交换—第一趟选择排序,结果最小的数被安置在第一个元素位置上 (2)再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录 将它与第二个数交换—第二趟选择排序 (3)重复上述过程,共经过n-1趟排序后,排序结束
排序过程: (1)首先通过n-1次比较,从n个数中找出最小的,将它与第一个数 交换—第一趟选择排序,结果最小的数被安置在第一个元素位置上 (2)再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录, 将它与第二个数交换—第二趟选择排序 (3)重复上述过程,共经过n-1趟排序后,排序结束 例 用简单选择法对10个数排序