JAVA谁能帮我设计出将数组[4,3,78,68,98,1,4]进行从大到小排序输出的程序?

Python014

JAVA谁能帮我设计出将数组[4,3,78,68,98,1,4]进行从大到小排序输出的程序?,第1张

public static void main(String[] args) {

int[] arr = {4,3,78,68,98,1,4}

Map map = new HashMap<>()

for (int i = 0i <arr.lengthi++) {

int val = arr[i]

map.put(val,i)

}

for (int i = 0i<arr.length i++){

for(int j = 0j<arr.length - 1 - ij++){

int temp = 0

if(arr[j] <arr[j+1]){

temp = arr[j]

arr[j] = arr[j+1]

arr[j+1] = temp

}

}

}

System.out.println( "从大到小排序:" + Arrays.toString(arr))

System.out.println("最大值=" + arr[0] + ",最大值位置=" + map.get(arr[0]))

}

//插入排序

//比如:[6,4,4,8,0,2]

//每一个数字与它前面的数字对比,如果比他小,就和前面换位置。

//8比4大,互换 ->[6,4,8,4,0,2],->[6,8,4,4,0,2]->[8,6,4,4,0,2]

//2比0大,互换->[8,6,4,4,2,0]

//就像我们按高低排队一样

private static void insertSort(int[] arr) {

    for (int i = 1 i < arr.length i++) {

        for (int j=ij>0j--){

            if (arr[j]<=arr[j-1]){

                break

            }else{

                int temp = arr[j]

                arr[j] = arr[j-1]

                arr[j-1] = temp

            }

        }

    }

}

public static void main(String[] args) {

//原始数组

int []arr1 = {1,2,5,4,3}

//倒叙排列后的数组

int []arr2 = new int[5]

//1.进行正序排序:结果是 1,2,3,4,5

Arrays.sort(arr1)

//2.倒叙取出数据存入arr2中:结果是5,4,3,2,1

for(int i=arr1.length-1i>=0i--){

arr2[arr1.length-1-i] = arr1[i]

}

}