这里是数组的应用:稀疏数组
一个11x11的棋盘转化为nx3的稀疏数组
这里的n为元素的个数+1
这里是稀疏数组和原始数组的相互转化的代码
0代表没有数字,1代表有数字

java稀疏数组_i++

public class sparceArrayDemo01 {
public static void main(String[] args) {
int[][] arr = new int[11][11];
arr[1][2] = 1;
arr[2][3] = 1;
for(int[] row : arr) {
for(int data : row) {
System.out.printf("%d\t",data);
}
System.out.println();
}
int sum = 0;
for(int i =0;i < arr.length;i++) {
for(int j = 0; j < arr[i].length;j++) {
if(arr[i][j] != 0) {
sum++;
}
}
}
int[][] sparceArray = new int[sum+1][3];
sparceArray[0][0] = arr.length;
sparceArray[0][1] = 11;
sparceArray[0][2] = sum;

int count = 0;
for(int i = 0;i < arr.length;i++) {
for(int j = 0;j < arr[i].length;j++) {
if(arr[i][j] != 0) {
count ++;
sparceArray[count][0] = i;
sparceArray[count][1] = j;
sparceArray[count][2] = arr[i][j];

}
}
}

for(int i = 0;i < sparceArray.length;i++) {
for(int j = 0;j < sparceArray[i].length;j++) {
System.out.printf("%d\t",sparceArray[i][j]);
}
System.out.println();
}

int arr2[][] = new int[sparceArray[0][0]][sparceArray[0][1]];



for(int i = 1;i < sparceArray.length;i++) {

arr2[sparceArray[i][0]][sparceArray[i][1]] = sparceArray[i][2];
}
for(int[] row:arr2) {
for(int data : row) {
System.out.printf("%d\t",data);

}
System.out.println();
}
}
}