Java 数组-冒泡排序和稀疏数组

Java 数组-冒泡排序和稀疏数组

  • 冒泡排序
//数组的静态初始化
int[] maoPaoPaiXu = {322,432,345,654,523,534,63,52,423};
        System.out.println(Arrays.toString(maoPaoPaiXu));
        int tmp;
        for (int i = 0; i < maoPaoPaiXu.length-1; i++) {
            for (int j = 0; j < maoPaoPaiXu.length-1-i; j++) {
                if (maoPaoPaiXu[j] < maoPaoPaiXu[j+1]){
                    tmp = maoPaoPaiXu[j+1];
                    maoPaoPaiXu[j+1] = maoPaoPaiXu[j];
                    maoPaoPaiXu[j] = tmp;
                }
            }
        }
        System.out.println(Arrays.toString(maoPaoPaiXu));
  • 稀疏数组
//       数组的动态初始化
        int[][] qiPan = new int[11][11];
        qiPan[4][5] = 1;
        qiPan[5][6] = 2;
        for (int i = 0; i < 11; i++) {
            for (int j = 0; j < 11; j++) {
                System.out.print(qiPan[i][j]+"\t");
            }
            System.out.println();
        }
//      矩阵的稀疏化
        int count=0;
        for (int i = 0; i < 11; i++) {
            for (int j = 0; j < 11; j++) {
                if (qiPan[i][j] != 0) {
                    count++;
                }
            }
        }
        int[][] xiShu= new int[count+1][3];
        xiShu[0][0]=11;
        xiShu[0][1]=11;
        xiShu[0][2]=count;
        count=0;
        for (int i = 0; i < 11; i++) {
            for (int j = 0; j < 11; j++) {
                if (qiPan[i][j] != 0) {
                    count++;
                    xiShu[count][0] = i;
                    xiShu[count][1] = j;
                    xiShu[count][2] = qiPan[i][j];
                }
            }
        }
        for (int i = 0; i < count+1; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.print(xiShu[i][j]+"\t");
            }
            System.out.println();
        }
        System.out.println("==============");
        System.out.println("还原");
        System.out.println("==============");
        int[][] huanYuan = new int[xiShu[0][0]][xiShu[0][1]];
        for (int i = 1; i < xiShu[0][2]+1; i++) {
            huanYuan[xiShu[i][0]][xiShu[i][1]]=xiShu[i][2];
        }
        for (int i = 0; i < xiShu[0][0]; i++) {
            for (int j = 0; j < xiShu[0][1]; j++) {
                System.out.print(huanYuan[i][j]+"\t");
            }
            System.out.println();
posted @ 2021-11-11 22:42  ye椰子zi  阅读(55)  评论(0)    收藏  举报