数组
数组的四个基本特点:
- 数组的长度是固定的,一旦被创建,它的大小不可以改变。
- 其元素必须是相同类型,不允许出现混合类型。
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
- 数组变量属于引用类型,数组也可以看成是对象,数组中的每隔元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中,因此数组无论保存原始类型还是其他对象类型,数组本身是在堆中的。
Arrays工具类---查看Java api
冒泡排序--两层循环,外层表示冒泡轮数,里层依次比较。
public static int[] sort(int[] a){ int temp = a[0]; //外层循环,判断要循环多少次 for (int i=0; i < a.length - 1;i++){ //内层循环,比较两个数,如果第一个数比第二个大,则交换位置 for (int j=0; j < a.length-1-i;j++){ if (a[j+1]>a[j]) { temp = a[j]; a[j] = a[j+1]; a[j+1]=temp; } } } return a; }

//稀疏数组 public class ArrayDemo8 { public static void main(String[] args) { //创建一个二维数组11*11 0:没有棋子 1:黑棋 2:白棋 int[][] a = new int[11][11]; a[1][2] = 1; a[2][3] = 1; for (int[] ints : a) { for (int anInt : ints) { System.out.print(anInt + "\t"); } System.out.println(); } //转换成稀疏数组保存 //获取有效值的个数 int sum = 0; for (int i = 0; i < 11; i++) { for (int j = 0; j < 11; j++) { if (a[i][j] != 0) { sum++; } } } System.out.println("有效值个数" + sum); //2.创建稀疏数组 int[][] b = new int[sum + 1][3]; b[0][0] = 11; b[0][1] = 11; b[0][2] = sum; //遍历二维数组,将非0值放入稀疏数组中 int count = 0; for (int i = 0; i < a.length; i++) { for (int i1 = 0; i1 < a[i].length; i1++) { if (a[i][i1] != 0) { count++; b[count][0] = i; b[count][1] = i1; b[count][2] = a[i][i1]; } } } //输出稀疏数组 System.out.println("输出稀疏数组:"); for (int[] ints : b) { for (int anInt : ints) { System.out.print(anInt + " "); } System.out.println(); } //还原稀疏数组 int[][] c = new int[b[0][0]][b[0][1]]; for (int i = 1; i < b.length; i++) { c[b[i][0]][b[i][1]] = b[i][2]; } for (int[] ints : c) { for (int anInt : ints) { System.out.print(anInt+ "\t"); } System.out.println(); } } }

浙公网安备 33010602011771号