主题:排序问题,请大家来瞧一下....
huitian
[专家分:1410] 发布于 2006-04-10 10:40:00
在列表(ListBox)中有这几个项:1--5--8--2.5--1.5--9--2--4
如何将这几个项目从大到小或从小到大排列呢...
请指教...谢谢
回复列表 (共1个回复)
沙发
cilix [专家分:1030] 发布于 2006-04-10 12:34:00
用一个递归可以搞定,不过效率不高,比如有8个数则要8!次排序
procedure sort(var ar: array of real; sortid: Integer);
var
i, j: integer;
tmpvalue: real;
begin
if sortid < sizeof(ar) then
begin
for i := sortid to sizeof(ar) do
begin
if ar[j] > ar[i] then
begin
tmpvalue := ar[i];
ar[i] := ar[j];
ar[j] := tmpvalue;
end;
end;
inc(sortid);
sort(ar, sortid);
end;
end;
我来回复