主题:[讨论]关于排序
bubaihehao
[专家分:0] 发布于 2008-08-12 10:29:00
10000个数以上个数排序用快排还是太慢。不知各位大牛是否有别的办法。如能解决问题小弟感激不尽!!!
回复列表 (共5个回复)
沙发
游侠UFO [专家分:1200] 发布于 2008-08-13 09:36:00
若数的范围不是很大。。可以考虑计数排序。。
板凳
傅·小·司 [专家分:60] 发布于 2008-08-14 10:36:00
[size=2]用用堆排,但是时间复杂度也时O(n log [size=1]2 [/size]n)[/size]
3 楼
bubaihehao [专家分:0] 发布于 2008-08-15 09:20:00
什么是堆排
4 楼
abcwuhang [专家分:1840] 发布于 2008-08-15 11:13:00
统排也OK的~~
program px;
var i,j:longint;
s:array [1..100000] of boolean;
begin
fillchar(s,sizeof(s),false);
readln(n);
for i:=1 to n do
begin
readln(j);
s[j]:=true;
end;
for i:=1 to n do
if s[i] then write(s[i],' ');
end.
5 楼
abcwuhang [专家分:1840] 发布于 2008-08-15 11:15:00
不过如果超过1000000的话数组也会爆```
我来回复