[面试] 手写题-选择排序
每一次从待排序的数据元素中选出最小的一个元素,存放在序列的开头, 排序的时间复杂度为O(n^2)
function selectSort(arr) {let minIndex; // 记录最小值索引for(let i = 0; i<arr.length-1; i++) {minIndex = i;// 找出这一轮中的最小值for(let j = i+1;j<arr.length;j++) {if (arr[minIndex] > arr[j]) {minIndex = j // 记录最小的索引}}// 用找到的最小值与默认的做交换(就是i与minIndex交换)let temp = arr[i]arr[i] = arr[minIndex]arr[minIndex] = temp}return arr
参考:
【小白学算法】排序专题之选择排序,JavaScript实现,小白经典必学系列!
经典面试题:JS常见的排序算法