选择排序(JS版)
选择排序的时间复杂度为O(n2),其排序思想是:
1. 迭代未排序序列,从中找出最小(或最大)元素,将其与未排序部分的头部元素进行位置交换;
2. 重复执行上一步,直至排序完成。
执行过程的动态演示:

示例代码:
/** * 选择排序 */ var selectionSort = function(nums) { // 数据长度 const len = nums.length; // 当前(或默认初始时)的最小元素索引 let minIndex; for (let i = 0; i < len - 1; i++) { minIndex = i; for (let j = i + 1; j < len; j++) { // 更新最小元素索引的值 if (nums[j] < nums[minIndex]) { minIndex = j; } } swap(nums, i, minIndex); } }; /** * 交换两个位置上的元素 */ var swap = function(nums, i, j) { const num = nums[i]; nums[i] = nums[j]; nums[j] = num; };
End
浙公网安备 33010602011771号