java交换角标

xiaoxiao2021-02-28  106

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();

}

}

转载请注明原文地址: https://www.6miu.com/read-34019.html

最新回复(0)