亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java實現二維數組和稀疏數組之間的轉換

瀏覽:5日期:2022-08-09 16:39:02
目錄前言1. 需求和思路分析2.代碼實現和展示3. 總結參考視頻前言

用Java實現二維數據和稀疏數組之間的轉換

1. 需求和思路分析

1.1 以二維數組的格式模擬棋盤、地圖等類似的二維結構為基礎,與稀疏數組之間進行轉化。

Java實現二維數組和稀疏數組之間的轉換

1.2 思路分析

二維數組轉化為稀疏數組

遍歷原始的二維數組,得到有效數據個數 sum 根據sum就可以創建稀疏數組sparseArr int[sunm+1][3] 將二維數組的有效數據存入到稀疏數組

稀疏數組轉為二維數組

先讀取稀疏數組的第一行,根據第一行的數據,創建原始的二維數組 再讀取稀疏數組后幾行的數據,并賦給原始的二維數組即可。2.代碼實現和展示

2.1 二維數組與稀疏數組之間的轉化程序

public class SparseArr { public static void main(String[] args) {// 創建一個原始的二維數組 11 * 11// 0: 沒有棋子;1:黑棋;2:白棋int[][] chessArr = new int[11][11];chessArr[1][2] = 1;chessArr[2][3] = 2;chessArr[2][6] = 1;// 打印輸出原始二維數組System.out.print('原始二維數組為:n');for(int[] a : chessArr ){ for (int item : a ){System.out.printf( '%dt', item ); } System.out.println();}//將二維數組轉換為稀疏數組思路// 1、遍歷二維數組,統計有效數據的個數sumint sum = 0;for(int i=0;i < chessArr.length;i++){ for(int j=0;j < chessArr[0].length;j++){if(chessArr[i][j] != 0){ sum++;} }}System.out.println('有效數據的個數為:' + sum);//2、建立稀疏數組,行列值int[][] sparseArr = new int[sum+1][3];//3、遍歷原始二維數組轉換為稀疏數組中的數據sparseArr[0][0] = 11;sparseArr[0][1] = 11;sparseArr[0][2] = sum;int count=1;for(int i=0;i < 11;i++){ for(int j=0;j < 11;j++){if(chessArr[i][j] != 0){ sparseArr[count][0] = i; sparseArr[count][1] = j; sparseArr[count][2] = chessArr[i][j]; count++;} }}//4 輸出稀疏數組System.out.println('稀疏數組為:');for (int[] row : sparseArr) {// for (int data : row) {// System.out.printf( '%dt',data); // }// System.out.println(); // }System.out.printf('%dt%dt%dtn', row[0],row[1],row[2]);}// 將稀疏數組轉化為二維數組// 1.讀取稀疏數組首行數據,建立二維數組int[][] chessArr2 = new int[sparseArr[0][0]][sparseArr[0][1]];// 2. 遍歷稀疏數組,賦值給二維數組for (int i=1;i < sparseArr.length;i++) { chessArr2[sparseArr[1][0]][sparseArr[1][1]] = sparseArr[i][2];}// 3. 打印輸出原始的二維數組System.out.print('原始二維數組為:n');for (int[] row : chessArr2) { for (int data : row) {System.out.printf('%dt', data); } System.out.println();} } }

2.2 二維數組轉化為稀疏數組展示

原始二維數組為:0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 00 0 0 2 0 0 1 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0有效數據的個數為:3稀疏數組為:11 11 31 2 12 3 22 6 1原始二維數組為:0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 00 0 0 2 0 0 1 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 03. 總結

用Java語言實現二者之間的轉化,思路很重要,按著思路寫代碼就會很省事,難的點可能是不知道如何寫代碼。注意:printf 和 print 輸出的格式不同。

參考視頻

尚硅谷Java數據結構與java算法(Java數據結構與算法)

到此這篇關于Java實現二維數組和稀疏數組之間的轉換的文章就介紹到這了,更多相關Java 二維數組和稀疏數組轉換內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: www.成人网 | 欧美成人免费全部观看在线看 | 欧美在线一级毛片观看 | 国产91精品一区二区 | 成人污视频 | 丁香婷婷开心激情深爱五月 | 成人亚洲国产精品久久 | 成人的天堂视频一区二区三区 | 一区二区不卡视频 | 免费一区在线观看 | 国产美女视频网站 | 色黄网站成年女人色毛片 | 中文字幕在线精品视频万部 | 亚洲欧美日韩综合一区久久 | 国产高清在线视频伊甸园 | 中国在线观看免费的www | 欧美中文一区 | 欧美日韩精品一区二区三区不卡 | 9i9精品国产免费久久 | 国产精品视频区 | 欧美蜜桃臀在线观看一区 | 男女爱爱免费网站视频在线观看 | 国内自拍第1页 | 久久久久久久97 | 欧美日韩一区二区三区自拍 | 在线看成品视频入口免 | 亚洲视频一| 成年看片免费高清观看 | 一级片在线免费 | 欧美影视一区 | 中文字幕亚洲一区二区v@在线 | 成人免费视频一区二区 | 国产不卡免费 | 免看一级a一片成人123 | 在线视频污 | 91孕妇精品一区二区三区 | 亚洲欧美日韩国产精品26u | 日本一级做人免费视频 | 在线免费观看色视频 | 国产偷国产偷亚洲高清在线 | 日本二级黄色片 |