选择排序(Selection Sort)-Java版
算法简介
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。
算法原理
选择排序是一种原址比较排序算法。大致思路是找到数据结构中的最小值并将其放置在第一位,接着找到第二小的值并将其放在第二位,以此类推

选择排序
代码实例
1 package sort; 2 3 public class SelectionSortDemo { 4 /** 5 * 选择排序 6 * 时间复杂度O(n^2) 7 * @param arr 需要排序的数组 8 */ 9 public static void selectionSort(int[] arr) { 10 for (int i = 0; i < arr.length - 1; i++) { 11 int minIndex = i; 12 int min = arr[i]; 13 for (int j = i + 1; j < arr.length; j++) { 14 if (arr[j] < min) { 15 min = arr[j]; 16 minIndex = j; 17 } 18 } 19 if (minIndex != i) { 20 arr[minIndex] = arr[i]; 21 arr[i] = min; 22 } 23 } 24 } 25 26 public static void main(String[] args) { 27 int[] arr = {3, 9, -1, 10, 2}; 28 selectionSort(arr); 29 for (int i : arr) { 30 System.out.println(i); 31 } 32 } 33 }

浙公网安备 33010602011771号