// 03、封装冒泡排序算法 sortMe() 。
<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>
浙公网安备 33010602011771号