代码
`` //11*11二维数组
//0:null,1:黑,2:白
//原始数组
_int [][] chessArr1=new int[11][11];
chessArr1[1][2]=1;
chessArr1[2][4]=2;
//转换稀疏数组
//遍历原始数组,得到非0个数
int all=0;
for (int[] row : chessArr1) {
for (int i : row) {
if(i!=0){
all++;
}
}
}
//建立稀疏数组
int[][] xishu=new int [all+1][3];
//向稀疏数组中赋值
//第0行存放原始数组的基本信息
_xishu[0][0]=11;
xishu[0][1]=11;
xishu[0][2]=all;
int row=0;<br /> for (int i=0;i<11;i++){<br /> for(int j=0;j<11;j++){<br /> if(chessArr1[i][j]!=0){<br /> row++;<br /> xishu[row][0]=i;<br /> xishu[row][1]=j;<br /> xishu[row][2]=chessArr1[i][j];}<br /> }<br /> }_//输出稀疏数组_<br />_ _System._out_.println();<br /> System._out_.println("~~~~~~~~~~~");<br /> for (int i=0; i<xishu.length;i++){<br /> System._out_.printf("%d\t%d\t%d\n",xishu[i][0],xishu[i][1],xishu[i][2]);<br /> }<br />}
结果

