Java-Sort 简单排序

Java 中 Sort 排序是非常常用的方法,这一章我们主要来认识一下 Sort 的用法和相关的实现

一、数组 Sort 排序

升序排序,直接使用 Arrays.Sort 方法,例如:

import java.util.Arrays;

public class Solution {


    public static void main(String[] args) {

        int[] array = {10, 3, 6, 1, 4, 5, 9};
//正序排序
        Arrays.sort(array);//会检查数组个数大于286且连续性好就使用归并排序,若小于47使用插入排序,其余情况使用双轴快速排序
        System.out.println("升序排序:");
        for (int num : array) {
            System.out.println(num);
        }
    }
}

降序排序,对于只输出数组的情况,可以倒序循环访问,例如:

import java.util.Arrays;

public class Solution {


    public static void main(String[] args) {

        int[] array = {10, 3, 6, 1, 4, 5, 9};
//正序排序
        Arrays.sort(array);//会检查数组个数大于286且连续性好就使用归并排序,若小于47使用插入排序,其余情况使用双轴快速排序
        System.out.println("升序排序:");
        for (int num : array) {
            System.out.println(num);
        }
        //倒序排序
//(1)由于不提供倒排方法,你可以倒叙输出
        System.out.println("降序输出:");
        for (int i = array.length - 1; i >= 0; i--) {
            System.out.println(array[i]);
        }

    }
}

降序排序,对于需要使用数组 的情况,可以创建一个新的数组,然后倒序访问赋值,例如:

import java.util.Arrays;

public class Solution {


    public static void main(String[] args) {

        int[] array = {10, 3, 6, 1, 4, 5, 9};
//正序排序
        Arrays.sort(array);//会检查数组个数大于286且连续性好就使用归并排序,若小于47使用插入排序,其余情况使用双轴快速排序
        System.out.println("升序排序:");
        for (int num : array) {
            System.out.println(num);
        }
        //倒序排序
//(1)由于不提供倒排方法,你可以倒叙输出
        System.out.println("降序输出:");
        for (int i = array.length - 1; i >= 0; i--) {
            System.out.println(array[i]);
        }

        //(2)或者创建一个新的数组,倒叙保存到新数组
        int[] descArray = new int[array.length];
        for (int i = 0; i < array.length; i++) {
            descArray[i] = array[array.length - i - 1];
        }
        System.out.println("新数组降序输出:");
        for (int num : descArray) {
            System.out.println(num);
        }


    }
}