欢迎来到彩壳资讯
彩壳资讯
当前位置:彩壳资讯 > 数码

Java数组如何排序?列出五种常用方法

日期:2023-10-03 10:41

Java中的数组排序是一个非常基础的问题,也是面试中经常被问到的问题。本文将为您介绍五种常见的排序方法。

Arrays.sort()

Arrays.sort()排序方法是Java中最简单也是最常用的排序方法

int[] arr1 = {21,16,34,5,20};
Arrays.sort(arr1);
for(int i=0;i

输出结果

5 16 20 21 34 

从输出结果可以知道​Arrays.sort()​排序方法默认按照升序对数组进行排序。


冒泡排序

顾名思义,就像气泡一样,较轻的浮在上面,较重的沉下去。那么如何知道哪一个更轻,哪一个更重呢?也就是比较数组中数字的大小。有必要比较两个相邻的数字。如果前者大于后者,则两个数交换位置,较大的继续与下一个比较;如果后者更大,则位置不变,继续比较较大的。该位继续与下一位进行比较。

包simple_sort;

公共课 Dome_sort {

/**

* @param args

*/

public static void main(String[] args) {

//TODO 自动生成方法存根

int[] 数字 = new int[]{1,9,5,6,7};

int i,j;

for(i =0;i

for(j=0;j

{

if(数字[j]>数字[j+1])

{

int temp= 数字[j];

数字[j]=数字[j+1];

数字[j+1]=temp;

}

}

}

System.out.println("排序结果");

for(i=0;i

System.out.print(numbers[i]+" ");

}

}

输出结果

1 5 6 7 9


选择排序

选择排序的原理就是遍历元素,找到一个最小值或者最大值,然后把这个值放在前面,继续在剩下的所有元素中选择最小值和最大值。重复此操作直至排序完成。

公共类SortDemo {
 
    公共静态无效主(字符串[] args){
        int[] arr = 新 int[] { 5, 3, 6, 2, 10, 2, 1 };
        选择排序(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
 
    公共静态无效 selectSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            int minIndex = i; // 用于记录最小值的索引位置,默认值为i
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[j] < arr[minIndex]) {最小索引 = j; // 遍历i+1~length的值,找到最小值的位置
                }
            }
            //交换当前索引i和最小索引minIndex处的值
            if (i != minIndex) {
                int temp = arr[i];
                arr[i] = arr[minIndex];
                arr[minIndex] = 临时;
            }
            // 执行一次循环后,当前索引i处的值为最小值,直到循环结束即可完成排序。
        }
    }
 
}

输出结果

1 2 2 3 5 6 10


逆序排序

逆序排序就是将原数组的顺序反转并输出。它的思想也很简单,就是交换数组的第一位和最后一位数字;交换数组的第二个和倒数第二个数字......依此类推,直到反转完成。


公共类反向排序{
 
公共静态无效主(字符串[] args){
int arr[]= {10,20,30,40,50,60};
反向排序排序=新的反向排序();
排序(arr);
}
公共无效排序(int []数组){
国际温度;
int len=数组.length;
for (int i = 0; i < len/2; i++) {
临时=数组[i];
数组[i]=数组[len-1-i];
数组[len-1-i]=temp;
}
for (int i = 0; i < array.length; i++) {
System.out.println(数组[i]);
}
}
}

结果输出

60 50 40 30 20 10


直接插入排序

直接插入排序的原理是使用定义的数组从第二个到最后一个元素作为顺序插入的数据。分别将它们与各自之前的值进行比较。如果比较的比前者小,则直接插在前者前面。直到比较到达小于插入数据的值,或者到达第一个位置,停止比较和插入。

公共类InsertAlgorithm {
公共静态无效insertAlgorithm(int r []){
for(int i=1;i=0&&insertNumber

输出结果

8 25 39 52 67 70 95


总结

以上就是Java中数组排序的五种常见排序方法。如果您想了解更多Java数组排序方法,请多多关注和支持W3Cschool!