av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Java實(shí)現(xiàn)二維數(shù)組和稀疏數(shù)組之間的轉(zhuǎn)換

瀏覽:2日期:2022-08-09 16:39:02
目錄前言1. 需求和思路分析2.代碼實(shí)現(xiàn)和展示3. 總結(jié)參考視頻前言

用Java實(shí)現(xiàn)二維數(shù)據(jù)和稀疏數(shù)組之間的轉(zhuǎn)換

1. 需求和思路分析

1.1 以二維數(shù)組的格式模擬棋盤、地圖等類似的二維結(jié)構(gòu)為基礎(chǔ),與稀疏數(shù)組之間進(jìn)行轉(zhuǎn)化。

Java實(shí)現(xiàn)二維數(shù)組和稀疏數(shù)組之間的轉(zhuǎn)換

1.2 思路分析

二維數(shù)組轉(zhuǎn)化為稀疏數(shù)組

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

稀疏數(shù)組轉(zhuǎn)為二維數(shù)組

先讀取稀疏數(shù)組的第一行,根據(jù)第一行的數(shù)據(jù),創(chuàng)建原始的二維數(shù)組 再讀取稀疏數(shù)組后幾行的數(shù)據(jù),并賦給原始的二維數(shù)組即可。2.代碼實(shí)現(xiàn)和展示

2.1 二維數(shù)組與稀疏數(shù)組之間的轉(zhuǎn)化程序

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

2.2 二維數(shù)組轉(zhuǎn)化為稀疏數(shù)組展示

原始二維數(shù)組為: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有效數(shù)據(jù)的個數(shù)為:3稀疏數(shù)組為:11 11 31 2 12 3 22 6 1原始二維數(shù)組為: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. 總結(jié)

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

參考視頻

尚硅谷Java數(shù)據(jù)結(jié)構(gòu)與java算法(Java數(shù)據(jù)結(jié)構(gòu)與算法)

到此這篇關(guān)于Java實(shí)現(xiàn)二維數(shù)組和稀疏數(shù)組之間的轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Java 二維數(shù)組和稀疏數(shù)組轉(zhuǎn)換內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 久久久亚洲一区 | 久久这里都是精品 | 日韩精品免费观看 | 美女在线播放 | 深夜福利视频在线观看 | 在线成人小视频 | 免费看av的网址 | av片在线观看 | 黄色大片视频 | 国产精品成人在线 | 成人黄色av | 免费一级黄色 | 求av网址| 亚洲欧洲一区 | 日韩精品视频在线免费观看 | 亚洲综合在线播放 | 麻豆一区二区三区 | 国产精品入口66mio男同 | 欧美黄色网 | 一区二区三区视频 | 中文字幕av久久爽一区 | 青青草久久 | 一区二区免费在线观看 | 手机av在线免费观看 | 一级片免费 | 在线观看av片 | 欧美日韩在线视频观看 | 国产精品人人做人人爽人人添 | 午夜视频免费在线观看 | 国产毛片在线 | 国产精品久久久久久久久久 | 久久久久久久 | 日韩免费三级 | 亚洲一区二区三区视频 | 国产精品一区在线播放 | 国产欧美一区二区 | 黄色a一级片 | 成人av在线看 | 国产一区二区福利 | 国产三级免费观看 | 激情五月综合色婷婷一区二区 |