/*
算法程序 ヤン・ハオチェンのアルゴリズムプログラム
创建一个原始的二维数组 11*11
0表示没有棋子,1表示黑子,2表示蓝子
将二维数组转稀疏数组
1.先遍历二维数组,得到非0数据
2.创建稀疏数组
オリジナルの2次元配列の作成11 * 11
0はチェスの駒なし、
1は黒、2は青を意味します。2次元配列をスパース配列にします。
1.
2次元配列を走査してゼロ以外のデータを取得します。
*/
package yanhaochen;
import java.net.StandardSocketOptions;
public class hello{
public static void main(String[] args){
int chessArrary[][] = new int[11][11];
chessArrary[1][2]=1;
chessArrary[2][3]=2;
System.out.println("原始的二维数组:");
for(int[]row:chessArrary){
for(int data:row){
System.out.printf("%d\t",data);
}
System.out.println();
}
int sum=0;
for(int i=0;i<11;i++){
for(int j=0;j<11;j++){
if(chessArrary[i][j]!=0){
sum++;
}
}
}
int sparsearr[][] = new int[sum+1][3];
//给稀疏数组赋值 スパース配列への値の割り当て
sparsearr[0][0] = 11;
sparsearr[0][0] = 11;
sparsearr[0][2] = sum;
//遍历二维数组 ,将稀疏数组存放到数组中 2次元配列を反復処理し、スパース配列を配列に格納します
int count=0;//count记录次数 レコードを数える
for(int i=0;i<11;i++){
for(int j=0;j<11;j++){
if(chessArrary[i][j]!=0){
count++;
sparsearr[count][0]=i;
sparsearr[count][1]=j;
sparsearr[count][2]=chessArrary[i][j];
}
}
}
System.out.println();
System.out.println("得到的数组为");
for(int i=0;i<sparsearr.length;i++){
System.out.printf("%d\t%d\t%d\t",sparsearr[i][0],sparsearr[i][1],sparsearr[i][2]);
}
System.out.println();
}
}
Java稀疏数组,日语注释
最新推荐文章于 2021-06-17 15:59:38 发布