Java中运用数组的四种排序方法

来源:互联网 发布:满语翻译软件 编辑:程序博客网 时间:2024/05/16 06:54

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。下面我们来了解一下。

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。

快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。

冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。

选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。

插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。
<1>利用Arrays带有的排序方法快速排序

public class Test {    public static void main(String[] args) {        int[] a = { 5, 4, 2, 4, 9, 1 };        Arrays.sort(a); // 进行排序        for (int i : a) {            System.out.print(i);        }    }}

<2>冒泡排序算法

public static int[] bubbleSort(int[] args) {// 冒泡排序算法        for (int i = 0; i < args.length - 1; i++) {            for (int j = i + 1; j < args.length; j++) {                if (args[i] > args[j]) {                    int temp = args[i];                    args[i] = args[j];                    args[j] = temp;                }            }        }        return args;    }

<3>选择排序算法

public static int[] selectSort(int[] args) {// 选择排序算法        for (int i = 0; i < args.length - 1; i++) {            int min = i;            for (int j = i + 1; j < args.length; j++) {                if (args[min] > args[j]) {                    min = j;                }            }            if (min != i) {                int temp = args[i];                args[i] = args[min];                args[min] = temp;            }        }        return args;    }

<4>插入排序算法

public static int[] insertSort(int[] args) {// 插入排序算法        for (int i = 1; i < args.length; i++) {            for (int j = i; j > 0; j--) {                if (args[j] < args[j - 1]) {                    int temp = args[j - 1];                    args[j - 1] = args[j];                    args[j] = temp;                } else                    break;            }        }        return args;    }

以上就是java中的四种排序方法。不同的方法效率不一样,下面是不同的算法的比较和数据交换时的大O表示。

冒泡排序:比较O(N2) 数据交换O(N2)

选择排序:比较O(N2) 数据交换O(N)

插入排序:比较O(N2) 复制数据O(N)

在实际应用中,我们要尽量选择效率高的算法

0 0