You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

以下JavaScript升序排序代码对应的是哪一种排序技术?

排序算法判定结果

你给出的代码属于选择排序(Selection Sort)的朴素实现版本,核心逻辑和标准选择排序一致,仅交换逻辑做了简化处理。

你提供的代码可整理为如下可直接运行的版本:

let arr = [7, 9, 2, 11, 5]

for (let i = 0; i < arr.length; i++) {
  for (let j = i + 1; j < arr.length; j++) {
    if (arr[j] < arr[i]) {
      let temp = arr[i]
      arr[i] = arr[j]
      arr[j] = temp
    }
  }
}

console.log(arr)   // 输出 [2, 5, 7, 9, 11]

该实现和标准优化版选择排序的差异

  • 标准优化版选择排序:每轮外层循环遍历未排序区间时,仅记录最小元素的下标,遍历完成后只执行1次交换操作,将最小元素放到有序区间的末尾位置
  • 本朴素实现:每轮外层循环遍历未排序区间时,只要发现比当前i位置更小的元素就立刻执行交换,整体交换次数远多于优化版,但是核心逻辑仍然是每轮确定第i位的最终有序值,仍然归类为选择排序

算法特性

  • 时间复杂度:最优、最坏、平均复杂度均为O(n²)
  • 空间复杂度:O(1),属于原地排序算法
  • 排序稳定性:不稳定,交换逻辑可能打乱相同值元素的相对顺序

内容的提问来源于stack exchange,提问作者Roh1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:09:04