您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java怎么實(shí)現(xiàn)稀疏數(shù)組與二維數(shù)組轉(zhuǎn)換”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java怎么實(shí)現(xiàn)稀疏數(shù)組與二維數(shù)組轉(zhuǎn)換”吧!
廢話少說,直接上代碼
package com.malajava.sparsearray; public class SparseArray { public static void main(String[] args) { //創(chuàng)建一個(gè)11*11二維數(shù)組 int array[][] = new int[11][11]; array[1][2]=1; array[2][3]=2; System.out.println("------------------二維數(shù)組------------------"); for (int[]row:array){ for (int data: row){ System.out.printf("%d\t",data); } System.out.println(); } //二維數(shù)組轉(zhuǎn)稀疏數(shù)組 //先遍歷二維數(shù)組,得到非零數(shù)據(jù)的個(gè)數(shù) int sum=0; for (int[]row:array){ for (int data: row){ if(data != 0) sum++; } } System.out.println("----------------------------------------"); System.out.println("非零個(gè)數(shù)為:"+sum); int sparseArray[][] = new int[sum+1][3]; sparseArray[0][0] =11; sparseArray[0][1]=11; sparseArray[0][2]=sum; //遍歷二維數(shù)組將非零數(shù)字存入稀疏數(shù)組 int count=0; //用于記錄是第幾個(gè)非零數(shù)據(jù) for (int i=0;i<11;i++){ for (int j = 0; j < 11; j++) { if(array[i][j] != 0){ count++; sparseArray[count][0]=i; sparseArray[count][1]=j; sparseArray[count][2]=array[i][j]; } } } System.out.println("------------稀疏數(shù)組-------------------------"); //輸出稀疏數(shù)組 for (int [] row:sparseArray) { for(int data:row){ System.out.printf("%d\t",data); } System.out.println(); } //稀疏數(shù)組轉(zhuǎn)二維數(shù)組 System.out.println("----------------二維數(shù)組----------------------"); int chessArray[][] =new int[sparseArray[0][0]][sparseArray[0][1]]; for (int i=1;i<sum+1;i++){ for (int j=1;j<3;j++){ chessArray[sparseArray[i][0]][sparseArray[i][1]]=sparseArray[i][2]; } } System.out.println("------------------稀疏數(shù)組恢復(fù)二維數(shù)組打印------------------"); for (int[]row:chessArray){ for (int data: row){ System.out.printf("%d\t",data); } System.out.println(); } } }
運(yùn)行結(jié)果:
感謝各位的閱讀,以上就是“Java怎么實(shí)現(xiàn)稀疏數(shù)組與二維數(shù)組轉(zhuǎn)換”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Java怎么實(shí)現(xiàn)稀疏數(shù)組與二維數(shù)組轉(zhuǎn)換這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。