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),不适用于大规模数据排序。