稀疏数组

    科技2022-08-27  110

    稀疏数组

    package array; //稀疏数组----压缩算法 public class ArrayDemo03 { public static void main(String[] args) { int[][] array = new int[11][11]; array[1][2] = 1; array[2][3] = 2; System.out.println("原始的数组是:"); for (int[] x: array) { for (int y: x) { System.out.print(y+"\t"); } System.out.println(" "); } int sum = 0; for (int i = 0; i <array.length ; i++) { for (int j = 0; j <array.length ; j++) { if(array[i][j] != 0){ sum++; } } } System.out.println("有效的个数是:" + sum); int[][] array1 = new int[sum+1][3]; array1[0][0] = 11; array1[0][1] = 11; array1[0][2] = sum; int count = 0; for (int i = 0; i <array.length ; i++) { for (int j = 0; j <array[i].length ; j++) { if(array[i][j] != 0){ count++; array1[count][0] = i; array1[count][1] = j; array1[count][2] = array[i][j]; } } } System.out.println("稀疏数组是:"); for (int i = 0; i <array1.length ; i++) { for (int j = 0; j <array1[i].length ; j++) { System.out.print(array1[i][j] + "\t"); } System.out.println(" "); } //还原稀疏数组 int[][] array2 = new int[array1[0][0]][array1[0][1]]; for (int i = 1; i <array1.length ; i++) { array2[array1[i][0]][array1[i][1]] = array1[i][2]; } System.out.println("还原的数组是:"); for (int[] x: array2) { for (int y: x) { System.out.print(y+"\t"); } System.out.println(" "); } } }

    冒泡排序

    package array; import java.util.Arrays; public class ArrayDemo04 { public static void main(String[] args) { int[] a = {5,4,3,2,1,7,9,8}; int[] sort = sort(a); System.out.println(Arrays.toString(a)); } public static int[] sort(int[] array){ int temp; boolean flag = false; for (int i = 0; i <array.length-1 ; i++) { for (int j = 0; j <array.length-1-i ; j++) { if(array[j] > array[j+1]){ temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; flag = true; } } if(flag == false){ break; } } return array; } }

    Processed: 0.027, SQL: 9