急!!!!!!怎样用delphi实现快速排序算法???????
急!!!!!!怎样用delphi实现快速排序算法??????? 问题点数:30、回复次数:10Top
1 楼jinjazz(近身剪)回复于 2005-02-23 11:05:37 得分 20
4.快速排序法
procedure QuickSort(var SortNum:array of integer;p,r:integer);
procedure swap(var a,b:integer); //交换
var tmp:integer;
begin
tmp:=a;
a:=b;
b:=tmp;
end;
function partition(var SortNum:array of integer;p,r:integer):integer; //划分
var i,j,x:integer;
begin
i:=p;j:=r+1;
x:=SortNum[p];
while true do
begin
repeat inc(i)
until SortNum[i]<x;
repeat inc(j,-1)
until SortNum[j]>x;
if i>=j then break;
swap(SortNum[i],SortNum[j]);
end;
SortNum[p]:=SortNum[j];
SortNum[j]:=x;
result:=j;
end;
var q:integer;
begin
if p<r then
begin
q:=partition(SortNum,p,r);
QuickSort(SortNum,p,q-1);
QuickSort(SortNum,q+1,r);
end;
end;Top
2 楼heluqing(鉴之小河〖劳累求充实〗)(vcl .net)回复于 2005-02-23 14:29:11 得分 0
记下备用!谢谢搂住提问和楼上的回答Top
3 楼qqmeme(青青)回复于 2005-02-24 16:40:13 得分 0
我想以 lin_t的location来排序,请问各位怎样用上面的快速排序代码实现??????
type
lin_t = packed record
eqnum : string;
edescription : string;
location : string;
ldescription : string;
installdate : string;
purchaseprice : double;
end;Top
4 楼qqmeme(青青)回复于 2005-02-25 11:43:48 得分 0
????????????????????????????????????//Top
5 楼whbo(王红波(年轻人,要有所作为))回复于 2005-02-25 15:09:59 得分 0
如果用别的语言会写的话,看下pascal语法Top
6 楼largewang(成都:王臻义[老王][C#学习中断])回复于 2005-02-25 15:38:09 得分 0
TList.Sort()Top
7 楼qqmeme(青青)回复于 2005-02-26 23:47:29 得分 0
能否具体说一下啊?Top
8 楼qqmeme(青青)回复于 2005-02-28 10:33:12 得分 0
?????Top
9 楼ppayun(~云彩)回复于 2005-02-28 17:26:18 得分 10
楼主你的问题还没搞定么,我在另一个帖子里给你的代码不能用啊?
可以去看TList的sort方法的源代码Top
10 楼wuyu1981(方圆)回复于 2005-03-01 11:13:58 得分 0
markTop





