function compare(a, b) {
return a > b ? true : false;
}
function exchange(arr, a, b) {
let temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
//選擇排序,在每一輪比較的時候選出最大的值,一輪比較完成后再進行交換
function selectionSort(arr) {
for (let i = 0; i < arr.length; i++) {
let maxIndex = arr.length - 1 - i;
for (let j = 0; j < arr.length - 1 - i; j++) {
if (compare(arr[j], arr[maxIndex])) {
maxIndex = j;
}
}
if (maxIndex !== arr.length - 1 - i) {
exchange(arr, maxIndex, arr.length - 1 - i);
}
}
}
let arr = [6, 1, 2, 3, 4, 5];
selectionSort(arr);
console.log(arr);
选择排序JavaScript
最新推荐文章于 2025-12-11 16:09:33 发布
本文详细介绍了JavaScript中的选择排序算法,通过compare函数进行数值比较,exchange函数用于交换数组中指定位置的元素。通过两层循环,每次找出未排序部分的最大值并将其放置在正确的位置,最后对给定数组[6,1,2,3,4,5]进行了排序并输出结果。
3043

被折叠的 条评论
为什么被折叠?



