数据结构与算法(Dart)之选择排序(十三)

每次从未排序的部分选取最小(或最大)的元素,放到已排序部分的末尾。

开始默认第一个元素最小。

时间复杂度: O(n²), 不稳定

ini 复制代码
/// 选择排序
selectionSort(List<int> src) {
  for (int i = 0; i < src.length - 1; i++) {
    /// min记录最小值的下标
    int min = i;
    for (int j = i + 1; j < src.length; j++) {
      if (src[j] < src[min]) {
        min = j;
      }
    }

    /// 此时min已经保存最小值下标,将min换到最前面
    if (min != i) {
      int temp = src[i];
      src[i] = src[min];
      src[min] = temp;
    }
  }

  print("选择排序, src:$src \n");
}

void main() {
  selectionSort([36, 3, 4, 2, 1, 6, 5, 9, 7, 8, 10]);
}
相关推荐
大大杰哥2 分钟前
2026陕西省ICPC省赛补题(前六题)
c++·算法
Brilliantwxx4 分钟前
【C++】 继承与多态(上)
开发语言·c++·笔记·算法
05候补工程师5 分钟前
【线性代数】核心考点:二次型、矩阵三大关系综合与正定矩阵判别法
笔记·线性代数·考研·算法·矩阵
亅-丿-丶丿丶一l一丶-/^n6 分钟前
RLHF|PPO算法原理(一)
算法·自然语言处理
ʚ希希ɞ ྀ7 分钟前
打家劫舍----背包dp
数据结构·算法·leetcode
兰令水11 分钟前
topcode【随机算法题】【2026.5.17打卡-java版本】
java·算法·leetcode
吃好睡好便好14 分钟前
在Matlab中绘制柱面图
开发语言·学习·算法·matlab
沐怡旸15 分钟前
彻底告别解析崩溃:深入解析大模型 Structured Outputs(结构化输出)技术
算法
giszz15 分钟前
量子算法简化解析:肖尔算法与格罗弗算法核心原理
算法·量子计算
熬夜敲代码的猫1 小时前
教你如何使用set和map
c++·算法