当前位置:网站首页>Print sparse arrays and restore

Print sparse arrays and restore

2022-06-11 06:00:00 visionkiwi

Sparse array

public static void main(String[] args) {
    
        int[][] arr = new int[11][11];
        arr[1][2] = 1;
        arr[2][3] = 1;
        for (int i = 0; i < arr.length; i++) {
    
            for (int j = 0; j < arr.length; j++) {
    
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }

        // Get valid number 
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
    
            for (int j = 0; j < arr.length; j++) {
    
                if (arr[i][j]!=0){
    
                    sum++;
                }
            }
        }
        System.out.println(" Valid number is :"+sum);

        // Create a sparse array 
        int[][] arr01 = new int[sum+1][3];
        arr01[0][0] = 11;
        arr01[0][1] = 11;
        arr01[0][2] = sum;

        // Traversing a two-dimensional array , Store non-zero values in a sparse array 
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
         // Traverse 2D outer layer 
            for (int j = 0; j < arr[i].length; j++) {
        // Traverse the two-dimensional inner layer 
                if (arr[i][j]!=0){
    
                    count++;
                    arr01[count][0] = i;
                    arr01[count][1] = j;
                    arr01[count][2] = arr[i][j];
                }
            }
        }


        // Output sparse array 
        for (int i = 0; i < arr01.length; i++) {
    
            System.out.println(arr01[i][0]+"\t"+arr01[i][1]+"\t"+arr01[1][2]+"\t");
        }


        // Sparse array restore 
        System.out.println(" Restore ");
        // Read sparse arrays 
        int[][] array3 = new int[arr01[0][0]][arr01[0][1]];

        // Restore the value of the element 
        for (int i = 1; i < arr01.length; i++) {
    
            array3[arr01[i][0]][arr01[i][1]] = arr01[i][2];
        }

        // Print 
        System.out.println(" Output restored array ");
        System.out.println("=================================================================");
        for (int[] ints : arr) {
    
            for (int anInt : ints) {
    
                System.out.print(anInt+"\t");
            }
            System.out.println();
        }
    }
原网站

版权声明
本文为[visionkiwi]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/03/202203020531050193.html