package demostruct;
//import java.io.FileInputStream;
//import java.io.FileOutputStream;
public class sparseStruct {
public static void main(String[] args) throws Exception {
//创立一个11*11的稀疏数组
int arr[][]=new int[11][11];
arr[1][2]=1;
arr[2][3]=2;
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<11;i++) {
for(int j=0;j<11;j++) {
if(arr[i][j]!=0) {
sum++;
}
}
}
System.out.println("这个稀疏数组不为零元素的个数:"+sum);
//用for循环遍历转化后的二维数组
int count=0;
int arr1[][]=new int[sum+1][3];
arr1[0][0]=11;
arr1[0][1]=11;
arr1[0][2]=sum;
for(int i=0;i<11;i++)
{
for(int j=0;j<11;j++) {
if(arr[i][j]!=0) {
count++;
arr1[count][0]=i;
arr1[count][1]=j;
arr1[count][2]=arr[i][j];
}
}
}
for(int i=0;i<arr1.length;i++) {
System.out.printf("%d\t%d\t%d\t",arr1[i][0],arr1[i][1],arr1[i][2]);
}
//FileOutputStream outputstream=new FileOutputStream("D:\\JAVA文件夹2\\filestream\\test,txt",true);
}
}
java稀疏数组转化为二维数组
最新推荐文章于 2023-08-11 12:35:21 发布