理解稀疏数组用例

package com.hai.week2;

public class Demo07 {
    public static void main(String[] args) {
        int a[][] = new int [5][6];
        int sum=0;
        a[2][4] = 5;
        a[3][4] = 8;
        for (int[] s: a) {
            for (int a1: s) {
                System.out.print(a1+"\t");
            }
            System.out.println();
        }
        for (int i = 0; i < a.length; i++) {
            for (int i1 = 0; i1 < a[i].length; i1++) {
                if(a[i][i1]!=0){
                    sum++;
                }
            }
        }
        int ss[][] =new int [sum+1][3];
        ss[0][0]=5;
        ss[0][1]=6;
        ss[0][2]=sum;
        int count=1;
        for (int i = 0; i < a.length; i++) {
            for (int i1 = 0; i1 < a[i].length; i1++) {
                if(a[i][i1]!=0){
                    ss[count][0]=i;
                    ss[count][1]=i1;
                    ss[count][2]=a[i][i1];
                    count++;
                }
            }
        }
        for (int [] ss1:ss
             ) {
            for (int ints:ss1
                 ) {
                System.out.print(ints+"\t");
            }
            System.out.println();
        }
        int [][] aa = new int[ss[0][0]][ss[0][1]];
        for (int i = 1; i <= ss[0][2]; i++) {
            aa[ss[i][0]][ss[i][1]] = ss[i][2];
        }
        for (int [] ss1:aa
        ) {
            for (int ints:ss1
            ) {
                System.out.print(ints+"\t");
            }
            System.out.println();
        }
    }
}

  

posted @ 2022-06-06 13:29  花千泪雨  阅读(14)  评论(0)    收藏  举报