1.概述
原理:从序列中,每次把最小的一个元素放在左边,依次类推,已达到排序,查找最小的元素需要一个遍历过程,而排序也要一个遍历过程,这个算法的时间复杂度也是O(n*n)。
步骤:
- 遍历找出最小的一个元素,插入最左边;
- 最小元素插入到左边,再查找剩余元素中最小元素,再次插入到该元素的最左边,依次类推。
2.示例
//选择排序 public static void SelectionSort(int[] nums) { for (int i = 0; i < nums.Length - 1; i++) { int min = i; for (int j = i + 1; j < nums.Length; j++) { if (nums[j] < nums[min]) min = j; } int temp = nums[min]; nums[min] = nums[i]; nums[i] = temp; } } // int[] list = new[] { 4, 1, 2, 7, 9, 0, 8 }; // Sorter.SelectionSort(list);