一、一维数组的定义和引用
1.一维数组的定义:类型说明符 数组名 【常量表达式】;
如: int a[10]; 它表示定义了一个整型数组,数组名为a,此数组有10个元素。
说明:
(1)数组名的命名规则和变量名相同,遵循标识符命名规则。
(2)在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元
素的个数,即数组长度。注意,下标是从0开始的,这10个元素是:a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。,不存在数组元素a[10]。
(3)常量表达式中可以包括常量和符号常量,不能包含变量,且为大于等于0的整形常量。
(4)定义数组是的【】wei类型说明符,访问时的【】为下标运算符。
(5)在定义中去掉变量名剩下的为类型名。如 int a【10】的类型名为int 【10】
(6)数组不能进行整体赋值。———数组的组名代表数组首元素的地址。
(7)数组存放的特点:
a.单一性: 数据类型相同,占用大小相同。
b.有序性: 下标小的一定比下标大的靠前。
c.连续性: 数组元素在内存地址上连续存放。
(8)不能越界访问
(9)数组元素个数:sizeof(a) / sizeof(a(0))
二、排序
1.选择排序:在数组合适的位置上放上合适的数。每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
算法复杂度:用来衡量算法运行时的复杂程度;
空间复杂度:用来衡量算法运行时临时占用的存储空间量;
2.冒泡排序:相邻两个元素两两比较,小的放前,大的放后。就是分成多趟排序,每一趟排序按照需求(升序或降序)把最大或最小的元素排到最后面,每趟排序从第一个元素开始两两比较,大的或小的往后挪,排完一趟后最后一个元素是有序的了,所以下一趟排序最后一个元素不参与排序。
3.(原地)插入法排序:就是插入一个数,然后判断该数的前面有多少个大于或小于该数的数,然后挪动这些数,最后将该数再插入到合适的位置即可。