delphi 将一个整型数组按升序排序
谢谢
LZ的头像好妩媚啊
方法很多,看看数据结构或者网上down一个吧,常用快速排序法
快速排序:
procedure QuickSort(var A: array of Integer; iLo, iHi: Integer);
var
Lo, Hi, Mid, T: Integer;
begin
Lo := iLo;
Hi := iHi;
Mid := A[(Lo + Hi) div 2];
repeat
while A[Lo] < Mid do Inc(Lo);
while A[Hi] > Mid do Dec(Hi);
if Lo <= Hi then
begin
VisualSwap(A[Lo], A[Hi], Lo, Hi);
T := A[Lo];
A[Lo] := A[Hi];
A[Hi] := T;
Inc(Lo);
Dec(Hi);
end;
until Lo > Hi;
if Hi > iLo then QuickSort(A, iLo, Hi);
if Lo < iHi then QuickSort(A, Lo, iHi);
if Terminated then Exit;
end;
procedure QuickSort(var A: array of Integer; iLo, iHi: Integer);
var
Lo, Hi, Mid, T: Integer;
begin
Lo := iLo;
Hi := iHi;
Mid := A[(Lo + Hi) div 2];
相关问答:
我在模块里自定义了一个函数:stradd()
可是在adoquery1.sql.add('select stradd(author) from book');
时提示stradd未定义...
这个问题有什么办法可以解决的吗? 非常感激!
(在A ......
这个是拦截按键消息并测试是否为ENTER键。
begin
case wParam of
WM_KEYDOWN:
fEatKeystroke := (p.vkCode = VK_RETURN);
& ......
有一个叫 Taking() 的procedure,
有二个按钮,
问题, 点第一个按钮的代码是调用Taking()的, 怎么才能点第二个按钮把Taking()终止或撤销
加个变量,做判断,为False时,E ......
procedure ChangeProxy(Addr: string; Bypass, Enabled: Boolean);
var
Info: INTERNET_PROXY_INFO;
Reg : TRegistry;&nb ......