// 03、封裝氣泡排序演算法 sortMe() 。
阿新 • • 發佈:2021-10-24
<script>
// 03、封裝氣泡排序演算法 sortMe() 。
// arr為陣列,des輸入是升序(up)還是降序(low),預設升序
function sortMe(arr, des = 'up') {
// 控制比較次數,最後剩一個就不要比較了
for (let i = 0; i < arr.length; i++) {
// 控制每輪比較的次數,比較完的沒必要比較了所以-i,也是最後剩一個沒有必要比較了所以可以-1
for (let j = 0; j < arr.length - i - 1; j++) {
if (des == 'up') {
// 兩兩比較
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
} else {
// 降序
if (arr[j] < arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
return arr;
}
console.log(sortMe([1,2,34,5,54,654,699,4,4,56,3])); console.log(sortMe([1,2,34,5,54,654,699,4,4,56,3],'low')); </script>
console.log(sortMe([1,2,34,5,54,654,699,4,4,56,3])); console.log(sortMe([1,2,34,5,54,654,699,4,4,56,3],'low')); </script>