js插入排序法把数组从大到小排序
时间: 2024-11-12 22:33:36 浏览: 13
通过实例解析JavaScript常用排序算法
插入排序是一种简单的排序算法,它的工作原理类似于整理乱序的卡片。在JavaScript中,如果我们要将数组按照降序(即从大到小)进行插入排序,可以采用以下步骤:
1. 选择数组中的第一个元素作为基准,假设它是最大的。
2. 对于剩余的每个元素(从第二个开始),比较当前元素与已排序部分的最大值。如果当前元素大于最大值,则交换它们的位置。
3. 继续这个过程,直到遍历完整个数组。每次内层循环结束后,数组的前半部分就应该是已经排序好的,而最后一个元素就是当前未找到合适位置的最大值。
4. 最终,整个数组就会按降序排列。
以下是具体的JavaScript代码示例:
```javascript
function insertionSortDesc(array) {
if (array.length <= 1) {
return array;
}
for (let i = 1; i < array.length; i++) {
let key = array[i];
let j = i - 1;
while (j >= 0 && array[j] < key) { // 从后向前比较并交换
array[j + 1] = array[j];
j--;
}
array[j + 1] = key; // 将关键元素插入正确位置
}
return array;
}
// 示例
const arr = [6, 5, 8, 2, 9, 1];
console.log(insertionSortDesc(arr)); // 输出:[9, 8, 6, 5, 2, 1]
阅读全文