1.什么是数组
有限个/相同类型的/变量组成的/有序集合,是最简单最常用的数据结构,在内存中顺序存储,数组中的每个元素按顺序存在内存单元中,不能跳过某个存储单元
2.数组的基本操作
增/删/改/查
int[] array = new []{1,4,6,3}
1)查
根据下标随机读取,如int value = array[0],时间复杂度O(1)
2)改
根据下标重新赋值,如array[1] = 4,时间复杂度O(1)
3)增
尾部插入,时间复杂度O(1)
中间插入,插入时元素要向后移动,时间复杂度O(n)
超范围插入
所以在涉及到数组插入的算法中,最好要判断插入位置,即尾部,中间,超范围三种判断
4)删除
根据下标直接删除元素,删除下标后的所有元素向前移动,时间复杂度
O(n),在不要求元素顺序的情况下,可以将数组最后的元素复制要到删除的元素位置,然后删除最后一个元素,此时时间复杂度为O(1),但是实际情况下一般是要求顺序的。
数组的优劣:
适合读取多,插入删除少的场景下使用