pascal 快速排序函数
时间: 2023-10-15 10:23:22 浏览: 66
在Pascal中,可以使用递归来实现快速排序算法。下面是一个示例的快速排序函数:
```
procedure QuickSort(var arr: array of Integer; low, high: Integer);
var
i, j, pivot, temp: Integer;
begin
if low < high then
begin
pivot := arr[low];
i := low + 1;
j := high;
while i <= j do
begin
while (i <= high) and (arr[i] < pivot) do
Inc(i);
while (j > low) and (arr[j] >= pivot) do
Dec(j);
if i < j then
begin
temp := arr[i];
arr[i] := arr[j];
arr[j] := temp;
end;
end;
temp := arr[low];
arr[low] := arr[j];
arr[j] := temp;
QuickSort(arr, low, j - 1);
QuickSort(arr, j + 1, high);
end;
end;
```
你可以调用这个函数来对一个整数数组进行快速排序,例如:
```
var
arr: array[1..10] of Integer = (9, 4, 7, 2, 8, 5, 1, 6, 3, 10);
begin
QuickSort(arr, Low(arr), High(arr));
// 输出排序后的数组
for i := Low(arr) to High(arr) do
WriteLn(arr[i]);
end.
```
这个函数会将数组按升序进行排序。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)