用pascal-simple写一个快排
时间: 2024-04-30 13:18:00 浏览: 15
下面是使用 Pascal-Simple 实现的快速排序算法:
```pascal
program QuickSort;
type
TIntArray = array of Integer;
procedure Swap(var a, b: Integer);
var
temp: Integer;
begin
temp := a;
a := b;
b := temp;
end;
function Partition(var arr: TIntArray; low, high: Integer): Integer;
var
pivot, i, j: Integer;
begin
pivot := arr[high];
i := low - 1;
for j := low to high - 1 do
begin
if arr[j] <= pivot then
begin
i := i + 1;
Swap(arr[i], arr[j]);
end;
end;
Swap(arr[i + 1], arr[high]);
Partition := i + 1;
end;
procedure QuickSort(var arr: TIntArray; low, high: Integer);
var
p: Integer;
begin
if low < high then
begin
p := Partition(arr, low, high);
QuickSort(arr, low, p - 1);
QuickSort(arr, p + 1, high);
end;
end;
var
arr: TIntArray;
i, n: Integer;
begin
WriteLn('Enter the number of elements: ');
ReadLn(n);
SetLength(arr, n);
WriteLn('Enter the elements:');
for i := 0 to n - 1 do
begin
ReadLn(arr[i]);
end;
QuickSort(arr, 0, n - 1);
WriteLn('Sorted array:');
for i := 0 to n - 1 do
begin
WriteLn(arr[i]);
end;
end.
```
这个程序要求用户输入要排序的整数数组,并对其进行快速排序,最后输出排序后的结果。
相关推荐
![](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)