資料結構與演算法之稀疏陣列
先把程式碼放下面吧,以後再補充
package com.pzg.sparsearray;
/**
* @author: pengzuguang
* @date: 2020/10/5 21:26
* @description: 稀疏陣列
*/
public class SparseArray {
public static void main(String[] args) {
//初始化一個二維陣列
int initialize[][] = new int[9][8];
initialize[2][2] = 1;
initialize[3][2] = 1;
initialize[4][4] = 2;
//格式化輸出初始化陣列
System.out.println("格式化輸出初始化陣列:");
for (int[] data : initialize
) {
for (int values: data
) {
System.out.printf("%d\t",values);
}
System.out.println();
}
//初始化陣列轉成稀疏陣列
int sum=0; //標誌初始化陣列非0個數
for (int[] data : initialize
) {
for (int values: data
) {
if (values>0 || values<0) {
sum++;
}
}
}
int sparseArray[][]=new int[sum+1][3]; //宣告一個稀疏陣列
//給稀疏陣列賦值
sparseArray[0][0]=9;
sparseArray[0][1]=8;
sparseArray[0][2]=sum;
int count=0;
for (int i=0;i<9;i++){
for (int j=0;j<8;j++){
if(initialize[i][j]!=0){
count++;
sparseArray[count][0]=i;
sparseArray[count][1]=j;
sparseArray[count][2]=initialize[i][j];
}
}
}
System.out.println("稀疏陣列長度:"+sparseArray.length);
System.out.println("初始化陣列轉換成稀疏陣列:");
for (int[] data : sparseArray
) {
for (int values: data
) {
System.out.printf("%d\t",values);
}
System.out.println();
}
//宣告第二個初始化二維陣列
int initialize_2[][]=new int[sparseArray[0][0]][sparseArray[0][1]];
for (int i=1;i<=count;i++){
initialize_2[sparseArray[i][0]][sparseArray[i][1]]=sparseArray[i][2];
}
System.out.println("稀疏陣列轉換成第二個初始化的二維陣列:");
for (int[] data : initialize_2
) {
for (int values: data
) {
System.out.printf("%d\t",values);
}
System.out.println();
}
}
}
控制檯輸出結果如下
格式化輸出初始化陣列:
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 0 2 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
稀疏陣列長度:4
初始化陣列轉換成稀疏陣列:
9 8 3
2 2 1
3 2 1
4 4 2
稀疏陣列轉換成第二個初始化的二維陣列:
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 0 2 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
相關文章
- 【資料結構與演算法】——稀疏陣列資料結構演算法陣列
- 資料結構與演算法:稀疏陣列(一)資料結構演算法陣列
- 資料結構與演算法—稀疏陣列和佇列資料結構演算法陣列佇列
- (一)Java資料結構之稀疏陣列Java資料結構陣列
- 資料結構與演算法——陣列資料結構演算法陣列
- 資料結構與演算法 | 陣列(Array)資料結構演算法陣列
- 資料結構(一)-稀疏矩陣資料結構矩陣
- 資料結構之「陣列」資料結構陣列
- 資料結構之陣列資料結構陣列
- 資料結構與演算法學習-陣列資料結構演算法陣列
- TypeScript演算法與資料結構-陣列篇TypeScript演算法資料結構陣列
- 資料結構與演算法基礎之指標和陣列資料結構演算法指標陣列
- LeetCode之資料結構——陣列LeetCode資料結構陣列
- 演算法與資料結構1800題 之 陣列與線性表(三)演算法資料結構陣列
- js資料結構與演算法 陣列、棧部分JS資料結構演算法陣列
- 陣列(Array)- 極客時間(資料結構與演算法之美)陣列資料結構演算法
- 資料結構與演算法整理總結---陣列,連結串列資料結構演算法陣列
- 基礎資料結構之陣列資料結構陣列
- 玩轉資料結構之陣列資料結構陣列
- 【資料結構與演算法】字串匹配(字尾陣列)資料結構演算法字串匹配陣列
- JavaScript資料結構之陣列棧佇列JavaScript資料結構陣列佇列
- 資料結構基礎學習之(串與陣列)資料結構陣列
- 資料結構-陣列資料結構陣列
- 資料結構 - 陣列資料結構陣列
- java資料結構學習之陣列Java資料結構陣列
- 資料結構之php實現陣列資料結構PHP陣列
- 資料結構與演算法系列(一)陣列實現資料結構演算法陣列
- 資料結構與演算法知識點總結(1)陣列與連結串列資料結構演算法陣列
- 資料結構:陣列,稀疏矩陣,矩陣的壓縮。應用:矩陣的轉置,矩陣相乘資料結構陣列矩陣
- 《JavaScript資料結構與演算法》筆記——第2章 陣列JavaScript資料結構演算法筆記陣列
- 02Javascript資料結構與演算法 之 佇列JavaScript資料結構演算法佇列
- 資料結構與演算法-佇列資料結構演算法佇列
- 資料結構2——陣列資料結構陣列
- 稀疏陣列陣列
- 資料結構之陣列和矩陣--矩陣&不規則二維陣列資料結構陣列矩陣
- 每日一道演算法題之陣列實現資料結構演算法陣列資料結構
- JavaScript 的資料結構和演算法 - 陣列篇JavaScript資料結構演算法陣列
- 資料結構與演算法-棧與佇列資料結構演算法佇列