• 稀疏数组


    稀疏数组

    
    public class SparseArray {
        public static void main(String[] args) {
            //0 代表无棋子  1 代表黑棋  2 代表白棋
            int[][] array1 = new int[11][11];
            array1[1][2] = 1;
            array1[2][3] = 2;
            for (int i = 0; i < array1.length; i++) {
                for (int j = 0; j < array1[i].length; j++) {
                    System.out.print(array1[i][j] + "	");
                }
                System.out.println();
            }
            //统计有效数字
            int sum = 0;
            for (int i = 0; i < array1.length; i++) {
                for (int j = 0; j < array1[i].length; j++) {
                    if (array1[i][j] != 0) {
                        sum++;
                    }
                }
            }
            System.out.println("有效数字为" + sum + "个");
            //创建稀疏数组
            int[][] array2 = new int[sum+1][3];
            array2[0][0] = 11;
            array2[0][1] = 11;
            array2[0][2] = sum;
    
            int count = 0;
            for (int i = 0; i < array1.length; i++) {
                for (int j = 0; j < array1[i].length; j++) {
                    if (array1[i][j] != 0) {
                        count++;
                        array2[count][0] = i;
                        array2[count][1] = j;
                        array2[count][2] = array1[i][j];
                    }
                }
            }
            //遍历稀疏数组
            for (int i = 0; i < array2.length; i++) {
                System.out.println(array2[i][0]+"	"+array2[i][1]+"	"+array2[i][2]+"	");
            }
            //读取稀疏数组
            int[][] array3 = new int [array2[0][0]][array2[0][1]];
            for (int i = 1; i <array2.length ; i++) {
                array3[array2[i][0]][array2[i][1]]=array2[i][2];
            }
            System.out.println("还原后的的数组");
            for (int i = 0; i < array1.length; i++) {
                for (int j = 0; j < array3[i].length; j++) {
                    System.out.print(array3[i][j] + "	");
                }
                System.out.println();
            }
        }
    }
    
  • 相关阅读:
    css 定位
    css inline忽略宽和高
    css clear属性
    关系型数据库与nosql
    链接标签<a>的css定义规则
    1em=16px
    text-align的justify属性
    2393Cirno的完美算数教室 容斥
    bzoj4665小w的喜糖 dp+容斥
    bzoj4558[JLoi2016]方 容斥+count
  • 原文地址:https://www.cnblogs.com/tyrion4396/p/13378594.html
Copyright © 2020-2023  润新知