作者 | zhonglihao |
算法名 | 计数排序 Count Sort |
分类 | 排序 |
复杂度 | 线性 |
形式与数据结构 | Matlab代码,需要额外增加排序元素数量大的数组 |
特性 | 若排序元素的符号数少,则效率较高 |
具体参考出处 | 《算法导论》 |
备注 |
clear all;
clc;
% 计数排序
len = 1000;
data = ceil(rand(1,len)*100);
count_array = zeros(1,100);
for i = 1:1:len
count_array(data(i)) = count_array(data(i)) + 1;
end
for i = 2:1:100
count_array(i) = count_array(i) + count_array(i-1);
end
out_data = zeros(1,len);
for i = len:-1:1
out_data(count_array(data(i))) = data(i);
count_array(data(i)) = count_array(data(i)) - 1;
end