java06
数组(容器)—元素类型支持基本数据类型与引用数据类型;–
定义格式–java的内存—(二分查找(前提:有序;缺点:1必须有序、
2、查找的数在前面))排序(冒泡排序、选择排序)
–**-––-–--------------------
数组的应用
时间复杂度:核心代码执行的次数
二分查找(n(数组长度)/2`x=1 x = log2n O(log2n))
冒泡、选择((n数组长度)*(n-1)= n`2-n)
Arrays.sort()----O(n*logn)
空间复杂度
在代码执行过程中额外开辟的空间,是对一个算法在运行过程中临时
占用储存空间大小的量度;
二分查找、冒泡、选择---- O(1)
-–------–--------–**---------*
关于扩容–数组定义完成之后长度永远不变;
所谓扩容事实上就是数组的复制,将旧数组内容复制进入更长的
新数组之中;
数组的复制格式:
(原数组,起始下标,新数组,起始下标,原数组长度)
System.arraycopy(a,0,a1,0,a.length);
数组扩容演示:
public class QWQ{public static void mian(String[]args){
//创建一个数组;
int[] a = {5,6,9,8,7;}
//创建一个新数组,并复制
int [] a1 = new int[a.length*2];
//(原数组,起始下标,新数组,起始下标,原数组长度)
System.arraycopy(a,0,a1,0,a.length);
System.out.println(Arrays.toString(a));