关于排序:记录一下看到的一个题

长度为N的数组记录中1-N个数字
将数组中的数从小到大排序
不能够间接赋值
let arr = [1, 6, 3, 2, 9, 10, 11, 4, 7, 5, 12, 8];

let i = 0, temp = 0;
while(temp++ < arr.length) {
  if (arr[i] === i + 1) {
    i ++
  } else {
    const temp = arr[arr[i] - 1];
    arr[arr[i] - 1] = arr[i];
    arr[i] = temp;
  }
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理