【16、Java实现选择排序】

177 阅读1分钟

Java选择排序(Selection Sort)是一种简单直观的排序算法,它的思想是每次从待排序的元素中选择最小(或最大)的元素,将其放到已排序的元素末尾。通过不断选择最小的元素,直到所有元素排序完成。

以下是Java选择排序的实现步骤: 遍历数组

首先遍历待排序的数组,找到最小的元素,将其与第一个元素交换位置。 遍历剩余部分

接着遍历数组中除第一个元素外的剩余部分,找到剩余部分中的最小元素,将其与第二个元素交换位置。 重复执行

不断重复以上步骤,直到数组中所有元素都排序完成。

以下是Java选择排序的示例代码:

package com.lfsun.main.point.demostructure.sort;

import java.util.Arrays;

/**
 * @author: lfsun
 * @time: 8:36
 * @date: 2023/2/23
 */
public class SelectionSort {
    public static void selectionSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            int minIndex = i;
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[j] < arr[minIndex]) {
                    minIndex = j;
                }
            }
            int temp = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = temp;
        }
        System.out.println(Arrays.toString(arr));
    }

    public static void main(String[] args) {
        selectionSort(new int[] {0, 4, 9, 88,-5});
    }
}

以上代码中,selectionSort方法接收一个整型数组作为参数,通过两重循环实现选择排序。外层循环遍历数组,内层循环遍历剩余部分,找到最小元素并交换位置,重复执行直到排序完成。时间复杂度为O(n^2),不适用于大规模数据排序。