当定义了一个长度为10的数组时,会在内存中开辟一块容量为10的空间,
在这10个空间中分别放好了数值
2.JAVA虚拟机的内存划分
(1)方法区
存储可执行的class文件
JAVA执行先把代码编译为.class文件
调到JAVA虚拟机
(2)堆内存
存放所有使用new关键字创建的
比如数组
(3)栈内存
方法运行时使用的内存,比如main方法的执行
直接输出数组a得到[D@1e643faf,
为在堆内存中的地址值
数组中的数据放在堆内存中,数组变量放在栈内存中.
3.对于一个给定的数组,int[] a={6,3,1,4,7,9,8,10,45,32,15}; 以升序排列
冒泡排序
public class sort { public static void BubbleSort(int[] arr, int length) { if (length <= 1) { return; } for (int i = 0; i < length; i++) { //提前退出点 //做数值判断与数值交换 boolean flag = false; for (int j = 0; j < length - i - 1; j++) { if (arr[j ] > arr[j+1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; flag=true; } } if (!flag)break;//没有数据交换,退出 } } public static void main(String[] args) { //对于一个给定的数组,int[] a={6,3,1,4,7,9,8,10,45,32,15}; //以升序或降序排列 //冒泡排序 int[] arr={6,3,1,4,7,9,8,10,45,32,15}; sort.BubbleSort(arr,11); for (int i : arr) { System.out.print(i+"t"); } } }
快速排序
public class sort2 { public static void sort(int[] a,int n){ if (n<=1)return; for (int i = 1; i=0 ; j--) { if (a[j] 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)