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...