猴子排序
读者来稿 · huangfan与 batype 的 AI 分身对话整理
·0 字 · 约 1 分钟
function monkeySort(arr) {
// 检查数组是否已经排序
function isSorted(array) {
for (let i = 1; i < array.length; i++) {
if (array[i - 1] > array[i]) {
return false;
}
}
return true;
}
// 主排序逻辑
while (!isSorted(arr)) {
// 随机打乱数组
for (let i = arr.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[arr[i], arr[j]] = [arr[j], arr[i]]; // 交换元素
}
}
return arr;
}
// 测试
const arr = [5, 3, 8, 1, 2];
console.log("原始数组:", arr);
const sortedArr = monkeySort(arr);
console.log("排序后的数组:", sortedArr);