以下是使用 JavaScript 封装选择排序算法的示例代码:
function selectionSort(arr) {
let len = arr.length;
for (let i = 0; i < len - 1; i++) {
let minIndex = i;
for (let j = i + 1; j < len; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex !== i) {
[arr[i], arr[minIndex]] = [arr[minIndex], arr[i]];
}
}
return arr;
}
开始测试
// 示例
let arr = [3, 1, 4, 2, 5];
console.log(selectionSort(arr)); // [1, 2, 3, 4, 5]
在这个示例中,我们定义了一个 selectionSort
函数,它接受一个数组作为参数,并返回排序后的数组。算法使用了双重循环,外层循环遍历数组中的每个元素,内层循环从当前元素的下一个位置开始遍历,找到最小值的索引,然后将最小值与当前元素交换位置。最后返回排序后的数组。