const arrs = [19, 4, 7, 6, 2, 5, 8, 1];
/**
*
* @param {*} preItem 前一个元素值
* @param {*} nextItem 后一个元素值
* @returns
*/
function compare (preItem, nextItem) {
return preItem > nextItem;
}
/**
*
* @param {*} arr 当前数组
* @param {*} pre 前一个索引值
* @param {*} next 下一个索引值
*/
function isChange (arr, pre, next) {
const temp = arr[pre];
arr[pre] = arr[next];
arr[next] = temp;
}
/**
*
* @param {*} arr 待排序数组
*/
function sort (arr) {
for (let i = 0; i < arr.length; i++) {
let maxIndex = 0;
for (let j = 1; j < arr.length - 1 - i; j++) {
if (compare(arr[j], arr[j + 1])) {
maxIndex = j; // 先找到最大的index
}
}
isChange(arr, i, maxIndex); // 交换
}
return arr;
}
console.log(sort(arrs));