1.什么是数组?
数组是用来表示相同数据类型的一种构造/组合数据类型
它是一个长度固定的存储相同数据类型的数据结果,数组中的元素通常存储在一段连续的内存空间中。
2.如何定义数组?
数据类型 数组名[数组大小]
注意:方括号里面的整型常量表示数组里面有多少个元素,可以是整型常量或整型常量表达式,绝对不能是变量。
2.1 数组的初始化
比如int weight[5] = {1,2,3};//部分初始化,剩余两个自动补零
int weight[5] = {1,2,3,4,5}//完全初始化,也可以是int[] = {1,2,3,4,5} 注意:当初始化时只给部分元素时 数组的长度不能省略。
2.2 数组的索引
weight[0]表示数组的第零个元素。数组所引的下标是从0开始的。
在定义完数组后,可以使用数组名+方括号索引到数组里某一位置的值。只有在定义的时候方括号里的数据才表示数据大小。
3.数组数据的访问
3.1 下标越界
访问的数组索引超过了数组的内存地址,就会出现下标越界,下标越界的读取并不会出错,但他的写入/赋值操作会出现段错误(内存错误),造成程序终结。
计算数组长度可以通过sizeof(数组名)
数组在内存中是连续的。数组名可以表示数组在内存中的起始位置。
还可以通过sizeof(数组名)/sizeof(数组名[0])来得到数组中的元素个数.
4.冒泡排序
冒泡排序是一直简单的排序算法。通过比较相邻的元素,如果第一个比第二个大,就交换他们两个。然后比较第二与第三个,等等直到前面的元素小于后面的元素则第一次排序结束。针对所有元素重复以上步骤,除了最后一个。直到没有任何一对数字需要比较
例如
第一次排序5,6,1,8,2 =>5,6,1,8,2(5和6比较)=>5,1,6,8,2(6和1比较 )