一、数组概念。
数组
(Array)是一种
线性表数据结构
。它用一组
连续
的内存空
间
,来存储一组具有
相同类型的数据
, 并且不支持动态扩容。数组的大小与数组的元素个数以及数组的元素类型有关。
二、数组的初始化。
一维数组
格式:类型 数组名[元素个数] = {初值0,初值1……};
int a[10];//创建一个大小为10的整型数组
int b[10] = {1,2,3,4,5,6,7,8,9,10}//创建一个大小为10的整型数组并赋值
a[0] = 1;//给数组a下标为零的变量赋值。
将数组作为全局变量在主函数外定义,系统会将所有 元素默认初始化为0。
注意
:其中所赋值的元素个数小于等于数组元素个数,系统会
从下
标为0的元素开始依次赋值
,到大括号内的最后一个值赋值结束。
二维数组
格式:类型 数组名[行数][列数];
int a[10][10];//创建一个二维整型数组
int b[5][5] = {
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20}
};//创建一个二维整型数组并赋值
三、数组操作。
插入
数组在插入的动作中,由于涉及数据搬移,因此时间复杂度是 O(n) ,十分低效。
就比如要把2插入到1和3之间(见下图:)
需要把34567全部往后面移一格, 所以十分低效。
删除
数组在删除的动作中,由于也要涉及数据搬移,因此时间复杂度是 O(n) ,十分低效。
就比如要删除2(如下图:)
就要把34567全部往前面移一格, 所以十分低效。
作者10岁的小Tyler