Java 数组-冒泡排序和稀疏数组
//数组的静态初始化
int[] maoPaoPaiXu = {322,432,345,654,523,534,63,52,423};
System.out.println(Arrays.toString(maoPaoPaiXu));
int tmp;
for (int i = 0; i < maoPaoPaiXu.length-1; i++) {
for (int j = 0; j < maoPaoPaiXu.length-1-i; j++) {
if (maoPaoPaiXu[j] < maoPaoPaiXu[j+1]){
tmp = maoPaoPaiXu[j+1];
maoPaoPaiXu[j+1] = maoPaoPaiXu[j];
maoPaoPaiXu[j] = tmp;
}
}
}
System.out.println(Arrays.toString(maoPaoPaiXu));
// 数组的动态初始化
int[][] qiPan = new int[11][11];
qiPan[4][5] = 1;
qiPan[5][6] = 2;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
System.out.print(qiPan[i][j]+"\t");
}
System.out.println();
}
// 矩阵的稀疏化
int count=0;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if (qiPan[i][j] != 0) {
count++;
}
}
}
int[][] xiShu= new int[count+1][3];
xiShu[0][0]=11;
xiShu[0][1]=11;
xiShu[0][2]=count;
count=0;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if (qiPan[i][j] != 0) {
count++;
xiShu[count][0] = i;
xiShu[count][1] = j;
xiShu[count][2] = qiPan[i][j];
}
}
}
for (int i = 0; i < count+1; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(xiShu[i][j]+"\t");
}
System.out.println();
}
System.out.println("==============");
System.out.println("还原");
System.out.println("==============");
int[][] huanYuan = new int[xiShu[0][0]][xiShu[0][1]];
for (int i = 1; i < xiShu[0][2]+1; i++) {
huanYuan[xiShu[i][0]][xiShu[i][1]]=xiShu[i][2];
}
for (int i = 0; i < xiShu[0][0]; i++) {
for (int j = 0; j < xiShu[0][1]; j++) {
System.out.print(huanYuan[i][j]+"\t");
}
System.out.println();