算法可视化
排序复杂度 O(n + k)支持自定义输入
计数排序:值域计数
统计每个值出现的次数(count),再按值从小到大把元素放回原数组。适合值域不大的整数排序。
复杂度 O(n + k)
main.cpp第 1 行
1// 计数排序: 统计每个值出现次数, 按顺序输出
2for (int x : a) count[x]++; // 计数
3int k = 0;
4for (int v = minV; v <= maxV; v++)
5 while (count[v]--) a[k++] = v; // 回填
变量表1 个变量
a[4, 2, 2, 8, 3, 3, 1]
数组 a
比较交换已就位
40
21
22
83
34
35
16
1/17
数组 a = [4, 2, 2, 8, 3, 3, 1],值域 1~8。第一步:统计每个值出现次数
自定义数据
限制:最多 20 个 · 整数 · 范围 0-999
1 / 17