type
TIntArr= array of word;
procedure MyQSort(var arr: TIntArr; low: word; high: word); //word可以改为自己需要的类型
var
i, j , x, k : word;
begin
if low < high then
begin
i:= low;
j:= high + 1;
while True do
begin
repeat
Inc(i);
until ((arr[low] <= arr[i])or(i = high));
repeat
Dec(j);
until ((arr[low] >= arr[j])or(j = low));
if i<j then
begin
x:= arr[j];
arr[j]:= arr[i];
arr[i]:= x;
end
else
Break;
end;
x:= arr[j];
arr[j]:= arr[low];
arr[low]:=x;
if(j>1)then
MyQSort(arr, low, j-1);
if(high-j-1 > 1) then
MyQSort(arr, j+1, high);
end;
end;
自己写的一个delphi正整数快速排序
最新推荐文章于 2023-05-24 15:55:13 发布
本文介绍了一种使用Pascal风格语法的快速排序算法实现方法。该算法通过递归地选择基准元素并进行分区来对整数数组进行排序。分区过程中,算法确保基准左侧的所有元素都不大于基准,而右侧的所有元素都不小于基准。
519

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



