procedure QuickSort(var A: array of Integer; iLo, iHi:Integer);
procedure Swap(var A,B:Integer);
var
temp:Integer;
begin
temp:= A;
A:=B;
B:=temp;
end;
var
Lo,Hi,Mid: 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
Swap(A[Lo],A[Hi]);
Inc(Lo);
Dec(Hi);
end;
until Lo > Hi;
if Hi > iLo then QuickSort(A, iLo, Hi);
if Lo < iH then QuickSort(A, Lo, iHi);
end;
转载于:https://www.cnblogs.com/doorsky/archive/2009/11/16/1604187.html
本文深入讲解了快速排序算法的实现原理及过程,通过Pascal语言详细展示了如何使用递归方式实现快速排序,包括分区操作、交换元素等关键步骤。
58万+

被折叠的 条评论
为什么被折叠?



