二维数组转稀疏数组(一维数组),稀疏数组转二维数组。
程序员文章站
2022-06-28 16:42:59
二维组转稀疏数组,稀疏数组转二维数组。(本文章用一维数组写稀疏数组,有兴趣的小伙伴也可以全部用一维写),当然小编也没有对一些代码进行封装,有兴趣的小伙伴也可以自行封装。直接上代码:代码package com.java.test;import java.util.Arrays;public class TwoArrays {public static void main(String[] args) {int [][] ary = new int [5][4];//ary[0][...
二维组转稀疏数组,稀疏数组转二维数组。(本文章用一维数组写稀疏数组,有兴趣的小伙伴也可以全部用一维写),当然小编也没有对一些代码进行封装,有兴趣的小伙伴也可以自行封装。
直接上代码:
代码
package com.java.test;
import java.util.Arrays;
public class TwoArrays {
public static void main(String[] args) {
int [][] ary = new int [5][4];
// ary[0][9]=4;
ary[1][2]=2;
// ary[9][4]=1;
// ary[5][8]=13;
for (int i = 0; i < ary.length; i++) {
for (int j = 0; j < ary[0].length; j++) {
System.out.print(ary[i][j]+"\t");
}
System.out.println();
}
System.out.println("二维数组转稀疏数组");
//有兴趣的小伙伴可以将它写成动态数组,就不会像小编这样浪费空间了
int [] sop = new int [(ary.length*ary[0].length*3)+3];
sop[1] = ary.length;
sop[2] = ary[0].length;
int count=0;
int x=3;
for (int i = 0; i < ary.length; i++) {
for (int j = 0; j < ary[0].length; j++) {
if(ary[i][j]!=0) {
sop[x]=i;
++x;
sop[x]=j;
++x;
sop[x]=ary[i][j];
++x;
count++;
}
}
}
int allsize=0;
sop[0]=count;
int size=0;
for (int i = 0; i <=count; i++) {
for (int j = 0; j <3; j++) {
System.out.print(sop[size]+"\t");
size++;
allsize++;
}
System.out.println();
}
System.out.println("稀疏数组转二维数组");
int x1=0;
int y1=1;
int number=2;
int [] [] twoArrays= new int [sop[y1]] [sop[number]];
for (int i = 0; i < allsize; i++) {
x1+=3;
y1+=3;
number+=3;
twoArrays[sop[x1]][sop[y1]]=sop[number];
}
for (int i = 0; i < twoArrays.length; i++) {
for (int j = 0; j < twoArrays[0].length; j++) {
System.out.print(twoArrays[i][j]+"\t");
}
System.out.println();
}
}
}
总结
String a =“继续学习,使我们的知识更加丰富。”;
System.out.printf("%s",a);
本文地址:https://blog.csdn.net/weixin_47462332/article/details/109807627
下一篇: cgb2007-京淘day17