稀疏陣列轉化二維陣列

2022-06-18 05:51:10 字數 1095 閱讀 1230

public class sparse

system.out.println();

}system.out.println("**********===");

//轉化為稀疏陣列儲存

//獲取有效值的個數

//判斷是否有值

int sum=0;//臨時變數,計數用的

for (int i=0;i<9;i++)}}

system.out.println("有效值的個數"+sum);

//2.建立乙個稀疏陣列的陣列

int array2=new int[sum+1][3];//稀疏陣列定義長度,動態初始化,是長度。行數因為第一行顯示的是總行數,所以從第二位開始,所以要加1,第二個長度是3,下標就額是012

array2[0][0]=9;//第一行,總行數

array2[0][1]=9;//第一行,總列數

array2[0][2]=sum;//總共有多少個值

//遍歷二維陣列,將非零的值,存放稀疏陣列中

int count=0;//臨時陣列

for(int i=0;i}

}system.out.println("稀疏陣列");

for(int i=0;isystem.out.println("*****=還原*****=");

//1.讀取稀疏陣列

int array3=new int[array2[0][0]][array2[0][1]];//動態初始化長度,new int裡面就是上面已經定義好的。可以看成 int array3=new int[9][9];

//2.給其中的元素還原它的值

//array2的陣列是 9 9 2 這是首行,不用讀取,直接從第一行開始讀取所以 i=1

system.out.println(array2.length+"!!!");

for(int i=1;i//3.列印陣列

system.out.println("輸出還原的陣列");

for(int ints:array3)

system.out.println();

}system.out.println("**********===");

}

二維陣列與稀疏陣列之間的轉化

1.稀疏陣列介紹 如果原陣列的非0元素的個數有n個,則稀疏陣列有n 1行,列數不變,一共有三列 第一行儲存的資料 原始陣列的行 原始陣列儲存的列 原始陣列中非0的元素個數 第二行儲存的資料 第乙個非0元素所在的行 第乙個非0元素所在的列 第乙個非0元素的值 2.二維陣列轉化為稀疏陣列 遍歷二維陣列,...

稀疏二維陣列

package com.atguigu.sparsearray public class sparsearray system.out.println 計算原始二維陣列裡面非0值的個數,並輸出 int sum 0 for int is chessarr system.out.println sum ...

二維陣列與稀疏陣列

一維數00組的集合,二維陣列可以由多個一維陣列構成 二維陣列的建立 int a 推薦使用 int a2 直接建立 int a new int x 可以不進行定義也可以定義 int a int a new int,二維陣列的迭代 int b1 newint for int i 0 i 實現 packa...