数据结构学习-二维数组与稀疏数组转换
生活随笔
收集整理的這篇文章主要介紹了
数据结构学习-二维数组与稀疏数组转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package 稀疏數組和隊列;public class 稀疏數組 {public static void main(String[] args) {// TODO Auto-generated method stub//創建一個原始二維數組int [][]array = new int[11][11];array[1][2] = 1;array[2][3] = 2;//輸出原始數組System.out.println("原始二維數組:");for(int[] row : array) {for(int data : row) {System.out.print(data+"\t");}System.out.println();}//將二維數組轉換為稀疏數組的思想
// 1.獲取非零數據個數int sum = 0;for(int i = 0; i < array.length; i ++ ) {for(int j = 0;j < array[0].length; j ++) {if(array[i][j]!=0)sum++;}}System.out.println("sum="+sum);// 創建對應的稀疏數組int sparseArray[][] = new int[sum+1][3];sparseArray[0][0] = array.length;sparseArray[0][1] = array[0].length;sparseArray[0][2] = sum;// 遍歷二維數組將非零值存放進稀疏數組for(int i = 0; i < array.length; i ++ ) {for(int j = 0;j < array[0].length; j ++) {if(array[i][j]!=0){sparseArray[sum][0] = i;sparseArray[sum][1] = j;sparseArray[sum--][2] = array[i][j];}}}// 輸出稀疏數組System.out.println("輸出稀疏數組:");for(int[] arr : sparseArray) {for(int data : arr) {System.out.print(data+" ");}System.out.println();}// 恢復數組int [][]arrayP = new int[sparseArray[0][0]][sparseArray[0][1]];for(int i = 1;i<sparseArray.length;i++) {arrayP[sparseArray[i][0]][sparseArray[i][1]] = sparseArray[i][2];}System.out.println("恢復二維數組:");for(int[] row : arrayP) {for(int data : row) {System.out.print(data+"\t");}System.out.println();}}}
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
總結
以上是生活随笔為你收集整理的数据结构学习-二维数组与稀疏数组转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (*长期更新)软考网络工程师学习笔记——
- 下一篇: 数据结构-数组模拟队列-环形实现(JAV