zoukankan      html  css  js  c++  java
  • 稀疏数组

    package com.AoChenguang.Array;

    public class ArrayDemon6<array> {
    public static void main(String[] args) {
    //创建二维数组 11*11 0没有 棋子 1白棋 2 黑棋
    int[][] array = new int[11][11];
    array[1][2] = 1;
    array[2][3] = 2;
    //输出原始数组
    System.out.println("输出的结果为");
    for (int[] ints : array) {
    for (int i : ints) {
    System.out.print(i + " ");
    } System.out.println();
    }
    //转换稀疏数组来保存
    //获取有效值的个数
    int sum = 0;
    for (int i = 0; i <11 ; i++) {
    for (int j = 0; j < 11; 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.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++) {
    System.out.println(array1[i][0]+" "+
    array1[i][1]+" "+
    array1[i][2]+" ");

    }
    }
    }
  • 相关阅读:
    MySQL数据库的常用命令
    MySQL数据库的概念
    Linux磁盘管理
    linux账号与权限管理
    安装及管理程序
    vi编辑器+常用命令
    centos7下部署elasticsearch7.2集群--Elastic Stack之一
    打开virt-manager界面显示方格乱码
    Rabbitmq之修改日志和数据存放路径
    Rabbitmq之Memory
  • 原文地址:https://www.cnblogs.com/acg-lbj/p/13118322.html
Copyright © 2011-2022 走看看