// Java 实现选择排序算法
public class SelectionSort {
// 选择排序方法
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;
}
}
// 将找到的最小元素与当前元素交换位置
if (minIndex != i) {
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
// 测试选择排序方法
public static void main(String[] args) {
int[] arr = {64, 25, 12, 22, 11};
System.out.println("排序前:");
printArray(arr);
selectionSort(arr);
System.out.println("排序后:");
printArray(arr);
}
// 打印数组方法
public static void printArray(int[] arr) {
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println();
}
}
选择排序的基本思想:选择排序是一种简单直观的排序算法。它的工作原理是每次从未排序的部分中找到最小(或最大)的元素,将其放到已排序部分的末尾。
外层循环:遍历数组中的每一个元素,假设当前元素是最小的。
内层循环:在未排序部分中寻找最小的元素,并记录其索引。
交换元素:如果找到了比当前元素更小的元素,则将它们交换位置。
测试代码:main 方法中定义了一个数组,并调用 selectionSort 方法对其进行排序,最后打印排序前后的数组内容。
希望这段代码和解释对你有帮助!
上一篇:java的反射机制
下一篇:java 正则替换
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站