二次元アレイ1
実際には、あまりにも多くはないマトリックスにおける高次元データの数は、説明
2.スパース配列
2次元配列はほとんど値が0である、または同じである場合、我々はメモリを減らすために使用されるスパース配列を考慮することができます
治療スパース配列:
1)元の配列の三の二次元アレイは、いくつかの奇数行、どのように多くの異なる値を記録しました
2)ここで、行の要素と疎なアレイ内の異なるレコードの列の値、それによって小型化
3.次の例:
4.以下のスパースアレイおよび二次元アレイの間の変換であります
パッケージcom.ebiz.array; / ** * @author YHJ * @Create 2019年7月13日16:46 * <P> *疎アレイ * / パブリック クラスSparseArray { 公共 静的 ボイドメイン(文字列[]引数){ / / 11 * 11の作成元の2次元アレイは、黒点を表すアルビノ表す INTを [] [] = chessArray1 新しい新しい INT [11] [11 ]; // 黒点の第2行の最初の列 chessArray1 [1] [2] = 1 ; // 第2行第3列はアルビノを有する chessArray1 [2] = 2 [3] ; / * のSystem.out.println( "元の2次元アレイ")。 {(chessArray1 []行INT)のために {(ロウI INT)のために 、System.out.printf( "%D \ T"、I) ; //System.out.print(i+"\tを「) } System.out.println(); } * / // 二次元アレイ疎な配列に変わります @ 非ゼロ値の元の配列番号を与える1 のint SUM = 0 ; のため(int型 I = 0;私は<11 ; I ++ ){ ため(INT J = 0; J <11; J ++ ){ IF(chessArray1 [I] [J]!= 0 ){ SUM ++ 。 System.out.println(); } } } // するSystem.out.println( "SUM =" SUM +); // 2.疎なアレイ作成 のint [] [] = SparseArray 新しい新しい INT [SUMの+ 1] [3 ]; // 3.疎なアレイの割り当て // 3.1 0ライン SparseArray [0] [0] = 11 ; SparseArray [ 0] = 11 [1]。; SparseArray [ 0] [2] = SUM; // 3.2元の配列を横断は、疎な非ヌル値を支払われます配列 int型の COUNT = 0; // カウンタの定義、行の数を変更 するための(int型 I = 0;私は<11; Iは++ ){ INT用( Iは:行){J = 0; J <11; J ++ ){ IF(chessArray1 [I] [J]!= 0 ){ COUNT ++ ; SparseArray [COUNT] [ 0] = I; SparseArray [COUNT] [ 1] = J; SparseArray [COUNT] [ 2] = chessArray1 [I]、[J]; } } } // 出力疎なアレイ のSystem.out.println( "ワードカウントの配列である:" ); のための(INT []行:SparseArray){ ため(INT System.out.printf("%D \ T" 、I); } のSystem.out.println(); } のSystem.out.println(「----------------------- ------------------------------------- " ); System.out.printlnは( "疎な配列の回復" ); // 作成疎な配列に応じて対応する配列 のint [] [] = Chary 新しい新しい INT [SparseArray [0] [0] [SparseArray [0] [1 ]]; // 疎なアレイを繰り返し、Charyを支払った ため(INT I = 1; I <sparseArray.length; I ++ ){ Chary [SparseArray [I] [ 0] [SparseArray [I] [1]] = SparseArray [I] [2 ]; } のための// 输出配列 (INT []行:chary){ ため(int型I:行){ System.out.printf( "%Dの\ tの" 、i)を、 // System.out.print(私は"\ tを" +); } のSystem.out.println(); } } }