Java使用选择排序法对数组排序实现代码


以下是一个Java中使用选择排序法对数组进行排序的简单实现代码:


public class SelectionSort {
    public static void main(String[] args) {
        int[] arr = {64, 25, 12, 22, 11};
        selectionSort(arr);
        System.out.println("Sorted array: ");
        printArray(arr);
    }

    // 选择排序算法实现
    static void selectionSort(int arr[]) {
        int n = arr.length;

        // 移动未排序数组的边界
        for (int i = 0; i < n - 1; i++) {
            // 找到[i, n-1]范围内最小元素的索引
            int min_index = i;
            for (int j = i + 1; j < n; j++)
                if (arr[j] < arr[min_index])
                    min_index = j;

            // 将找到的最小元素交换到排序序列的起始位置
            int temp = arr[min_index];
            arr[min_index] = arr[i];
            arr[i] = temp;
        }
    }

    // 打印数组元素的辅助方法
    static void printArray(int arr[]) {
        for (int i = 0; i < arr.length; i++)
            System.out.print(arr[i] + " ");
        System.out.println();
    }
}

在这段代码中,`selectionSort` 方法实现了选择排序算法。它首先遍历数组,找到最小元素的索引,然后将它与当前位置的元素交换。这个过程在数组的未排序部分重复进行,直到数组完全排序。`printArray` 方法用于打印数组的元素,以便于验证排序结果。