欢迎访问宙启技术站
智能推送

Java函数实现数组元素的排序

发布时间:2023-07-01 22:04:37

在Java中,提供了多种方法可以实现数组元素的排序。下面介绍几种常见的排序算法及其实现方式。

1. 冒泡排序(Bubble Sort):

冒泡排序是一种简单的排序算法,它重复地比较相邻两个元素,如果顺序错误就交换它们,直到没有需要交换的元素。

实现代码如下:

public static void bubbleSort(int[] arr){
    int n = arr.length;
    for (int i = 0; i < n - 1; i++){
        for (int j = 0; j < n - i - 1; j++){
            if (arr[j] > arr[j + 1]){
                // 交换arr[j]和arr[j + 1]
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

2. 选择排序(Selection Sort):

选择排序每次从未排序的部分中选择最小(或最大)值,然后将其放到已排序的部分的末尾。

实现代码如下:

public static void selectionSort(int[] arr){
    int n = arr.length;
    for (int i = 0; i < n-1; i++){
        int minIndex = i;
        for (int j = i+1; j < n; j++){
            if (arr[j] < arr[minIndex]){
                minIndex = j;
            }
        }
        // 交换arr[i]和arr[minIndex]
        int temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
}

3. 插入排序(Insertion Sort):

插入排序将数组分为已排序和未排序两部分,每次从未排序的部分中取一个元素,插入到已排序部分的正确位置。

实现代码如下:

public static void insertionSort(int[] arr){
    int n = arr.length;
    for (int i = 1; i < n; i++){
        int key = arr[i];
        int j = i - 1;
        while (j >= 0 && arr[j] > key){
            arr[j + 1] = arr[j];
            j--;
        }
        arr[j + 1] = key;
    }
}

以上是三种常见的排序算法及其实现方式,可以根据具体需求选择适合的算法来对数组元素进行排序。