城管希课堂之数组
数组(容器)
* 保存一组相同数据类型的数据 * 数据类型 变量名 = 初值; * 声明数组格式: * 数据类型[] 数组名 = 初值; * 注意:这里的数据类型 指的是 数组中保存的数据类型 * * 数组声明方式一 * int[] array = new int[数组的长度]; * * 数组在堆内存中 开辟的时一块连续的内存空间
栈内存特点* 1.当函数执行完毕 系统会自动帮你释放* 2.先进后出
//声明数组方式二(又给长度又给元素)
int[] array = new int[]{1,3,5,11};
//语法糖(方式三)
int[] array1 = {1,3,5,7,9};
冒泡排序* 核心思想:相邻两个数比较 换位* 外循环控制一共比了多少趟* 内循环控制一趟比了多少次
int[] array = {3,2,5,1};for (int i = 0; i < array.length-1; i++) {for (int j = 0; j < array.length-1-i; j++) {//判断大小 相邻//内循环-1 防止数组越界//内循环-i 循环一次 确定一个数 每次都少比一次if (array[j]>array[j+1]) {//交换int tep = array[j];array[j]=array[j+1];array[j+1] = tep;}}}
选择排序* 核心思想:选择一个数(选第一个数)和其他的数进行比较 交换
int []array =new int[]{3,2,5,1};for (int i = 0; i < array.length-1; i++) {for (int j = i+1; j < array.length; j++) {//用第0个数 和剩下的每一个数比较//量化思维if (array[i]>array[j]) {int tep = array[j];array[j]=array[i];array[i] = tep;}}}折半查找(必须有序的数组)
int[] array = { 1, 22, 33, 44, 55, 66 };int key = 55;int min = 0;int max = array.length - 1;int mid = (min + max) / 2;// 先声明能使用到的变量while (array[mid]!=key) {//判断 key和中间角标值//来挪动 最小角标或最大角标if(key>array[mid]){min = mid+1;}if (keymax){//没有这个数 使用-1来表示mid=-1;break;}}
二维数组
二维数组(容器)* 保存多个相同类型的一维数组* 数据类型[][][] 数组名 = 初值* * * (几维数组 就几个[])* 三维数组* 保存多个相同类型的二维数组* * 羊肉串
//声明一个二维数组//这个二维数组中 有两个一维数组//每个一维数组中又三个元素int[][]array = new int[2][3];//array.length 表示 有几个一维数组;System.out.println(array.length);//声明方式二//1,11,111 /2,22,22int[][]array1 = new int[][]{{1,11,111},{2,22,222},};for (int i = 0; i < array1.length; i++) {for (int j = 0; j < array1[i].length; j++) {System.out.print(array1[i][j]+" ");}System.out.println();}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
