输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列。
发布日期:2021-05-09 15:05:21 浏览次数:11 分类:精选文章

本文共 1586 字,大约阅读时间需要 5 分钟。

package com.arraysort;

import java.util.Scanner;

public class ArraySort {

public static void InsertSort(int[] arr, int n) {    int i, j;    int target;    for (i = 1; i < n; i++) {        j = i;        target = arr[i];        while (j > 0 && target < arr[j - 1]) {            arr[j] = arr[j - 1];            j--;        }        arr[j] = target;    }}public static void Sort(int[][] arr, int n, int m) {    int i, j;    int target, index;    for (i = 1; i < n; i++) {        j = i;        target = arr[i][1];        index = arr[i][0];        while (j > 0 && target > arr[j - 1][1]) {            arr[j][0] = arr[j - 1][0];            arr[j][1] = arr[j - 1][1];            j--;        }        arr[j][1] = target;        arr[j][0] = index;    }}public static int GetAvg(int[] arr, int n) {    int sum = 0;    for (int i = 0; i < 5; i++) {        sum += arr[i];    }    return sum / n;}public static void main(String[] args) {    Scanner s = new Scanner(System.in);    int[][] array = new int[5][5];    System.out.println("请输入5x5矩阵的元素:");    for (int i = 0; i < 5; i++) {        for (int j = 0; j < 5; j++) {            array[i][j] = s.nextInt();        }    }    for (int i = 0; i < 5; i++) {        InsertSort(array[i], 5);    }    int[][] avg = new int[5][2];    for (int i = 0; i < 5; i++) {        avg[i][0] = i;        avg[i][1] = GetAvg(array[i], 5);    }    Sort(avg, 5, 2);    System.out.println("排序后的结果:");    for (int i = 0; i < 5; i++) {        for (int j = 0; j < 5; j++) {            System.out.print(array[avg[i][0]][j] + "\t");        }        System.out.println();    }}

}

上一篇:JAVA List集合的基础知识
下一篇:【嵌入式linux】bootloader详细介绍

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月08日 10时15分55秒