封装一个选择排序算法排序数组
<script>
//选择排序: 寻找一个最小(最大)值放在前面
var nums = [5, 3, 7, 1, 6];
function selectSort(arr, isAsc) {
//arr: 被排序的数组
//isAsc: 是否升序排序, true: 升序排序, false: 降序排序
for (var i = 0; i < nums.length - 1; i++) {
//寻找最小的值放在前面最小值的后面
for (var j = i + 1; j < nums.length; j++) {
if (isAsc) {
if (arr[i] > arr[j]) {
arr[i] += arr[j];
arr[j] = arr[i] - arr[j];
arr[i] -= arr[j];
}
} else {
if (arr[i] < arr[j]) {
arr[i] += arr[j];
arr[j] = arr[i] - arr[j];
arr[i] -= arr[j];
}
}
}
}
return arr;
}
var result = selectSort(nums, false);
console.log('result ==> ', result);
</script>
结果: