重庆南昌网站建设,石家庄关键词优化平台,怎样选深圳网站建设,帮企业建网站步骤选择排序是一种简单直观的排序算法#xff0c;其基本思想是每一轮从待排序的元素中选择最小#xff08;或最大#xff09;的元素#xff0c;将其与当前位置的元素交换。选择排序的实现步骤可以简要概括为#xff1a;
初始化#xff1a; 遍历整个数组#xff0c;将当前位…选择排序是一种简单直观的排序算法其基本思想是每一轮从待排序的元素中选择最小或最大的元素将其与当前位置的元素交换。选择排序的实现步骤可以简要概括为
初始化 遍历整个数组将当前位置的元素标记为最小或最大。选择 在未排序的部分中找到最小或最大的元素的索引。交换 将最小或最大的元素与当前位置的元素进行交换。移动 将标记的位置移动到下一个未排序的元素。重复 重复以上步骤直到整个数组有序。
以下是使用Java实现选择排序的代码
public class SelectionSort {public static void selectionSort(int[] arr) {int n arr.length;for (int i 0; i n - 1; i) {// 步骤 1假设当前位置是最小元素的位置int minIndex i;// 步骤 2在未排序的部分中找到最小元素的索引for (int j i 1; j n; j) {if (arr[j] arr[minIndex]) {minIndex j;}}// 步骤 3交换最小元素与当前位置的元素if (minIndex ! i) {int temp arr[minIndex];arr[minIndex] arr[i];arr[i] temp;}// 步骤 4移动标记位置到下一个未排序的元素}}public static void main(String[] args) {// 示例数组int[] arr {24, 20, 23, 22, 11};System.out.println(原始数组: Arrays.toString(arr));// 调用选择排序方法selectionSort(arr);System.out.println(排序后数组: Arrays.toString(arr));}
}在这个例子的步骤3中添加了判断条件避免不必要的交换算是进行了小小的优化。