二维数组实际上是由多个一维数组组成的,它的各个一维数组的长度可以相同,也可以不相同
例如 int map[] [] = {{1,2}{3,4,5}}是一个二维数组
由map[0] 是一个含有两个元素的一维数组,map[1]是一个含有三个元素的一维数组。
也称为列数不等的二维数组
int[][] [] [] array = new [2] [3];定义一个长度为2,深度为3的二维数组
数组的元素有2个,每个元素都是一个新的一维数组,一维数组有3个元素
当不确定一维数组里面的数据个数时,可以先定义一维数组的个数,然后具体赋值
int [] [] array = new [2] [];定义一个有两个元素的二维数组
array[i] = new int [j]; 把二维数组array的第i个一维数组开辟int类型空间,大小为j
int[][] y || int[] y[] || int y[][];
已知有个升序的数组,要求插入一个元素,该数组顺序依然是升序。
比如{10,12,45,90}插入23后,数组为{10,12,23,45,90}
自己思考:没有考虑到升序。先扩容数组,把23加进去,然后冒泡排序。
最佳:因为数组本身就是升序,我们可以先找到23在数组里的具体位置。在扩容的时候,直接插入相应的位置进去。
省去了冒泡的几轮循环,只用一次循环就找到位置。也可用二分法,更快速。