定义数组,长度必须是常量 (定义数组时,长度必须确定)。
数组名字代表数组首地址,参数传递时,用指针类型的变量接收,只是传了首地址;通过地址来对数组进行操作。
例子: 冒泡排序思想:大的上浮,小的下沉(由小到大排序,由大到小则相反),外循环控制比较趟数,内循环控制每趟的比较次数。 例如:10个数字比较9趟,每趟只比较当前趟数-1即可(9个数比较8次)。
选择排序: 1.当前无序区查找最大值与数组第一个元素比较, 2.如果最大元素下的标等于首元素下标,不交换。 3.大于(或小于)首元素则交换位置,交换后首元素位置认定为有序区。 4.再从无序区选取最大值,重复上述步骤。
例如: 原始数组: 4,8,0,4,9,7,2
第一次:9,|8,0,4,4,7,2(9是无序区最大元素,与无序区第一个元素4交换) 第二次:9,8,|0,4,4,7,2 (8为最大元素,是无序区第一个元素,不需要交换位置)
第三次:9,8,7,|4,4,0,2(7与0交换)
第四次:9,8,7,4,|4,0,2(不交换)
第五次:9,8,7,4,4,|0,2(不交换) 第六次:9,8,7,4,4,2,|0(2与0交换)
每次比较无序区,先用k(中间变量)记录当前无序区首元素下标 i,比较后用k记录无序区最大值下标,用来与 i 判断,不是同一下标就进行交换。
2.字符串数组
strlen计算长度,补包括'\0',sizeof计算长度包括'\0'
|