package com.lanou.demo;
import java.util.Arrays;
/*
* 请通过代码实现以下功能:输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列。
*/
public class Demo3 {
public static void main(String[] args) {
// 构造一个二维数组
int[][] test = { { 5, 6, 9, 7, 4 }, { 6, 4, 8, 9, 2 }, { 7, 2, 6, 9, 8 }, { 1, 6, 3, 7, 5 },
{ 9, 5, 6, 7, 2 } };
int[] a = new int[5];
for (int i = 0; i < test.length; i++) {
Arrays.sort(test[i]);
for (int j = 0; j < test[i].length; j++) {
a[i] = test[i][j] + a[i];
}
}
/* 创建数组a 是二维数组的一维数组的和的数组 */
for (int i = 0; i < 5; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
/* 给a数组加一个下标 */
int count[] = new int[5];
for (int i = 0; i < 5; i++) {
count[i] = i;
System.out.print(count[i]+" ");
}
System.out.println();
for (int j = 0; j < a.length - 1; j++) {
for (int m = 0; m < a.length - j - 1; m++) {
if (a[m] < a[m + 1]) {
int temp = 0;
int s = 0;
temp = a[m];
a[m] = a[m + 1];
a[m + 1] = temp;
s = count[m];
count[m] = count[m + 1];
count[m + 1] = s;
}
}
}
for (int i = 0; i < 5; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
/* 给a数组加一个下标 */
for (int i = 0; i < 5; i++) {
System.out.print(count[i]+" ");
}
System.out.println();
/* 输出 */
for (int i = 0; i < test.length; i++) {
for (int j = 0; j < test[i].length; j++) {
System.out.print(test[count[i]][j] + " ");
}
System.out.println();
}
System.out.println();
}
}