请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,完成编写排序的小程序。
时间: 2023-05-25 16:02:30 浏览: 109
补充知识-代码技巧.docx
```
program Sort;
var
arr: array [1..10] of integer;
i, j, temp: integer;
begin
Randomize; // 生成随机数组
for i := 1 to 10 do
begin
arr[i] := Random(100); // 随机数范围 0-99
Write(arr[i], ' ');
end;
Writeln;
// 在此处编写代码,完成排序
for i := 1 to 10 do
Write(arr[i], ' ');
end.
```
在 Begin-End 区域内,可以使用冒泡排序或快速排序算法进行排序。
使用冒泡排序的代码:
```
for i := 1 to 9 do
for j := 1 to 10 - i do
if arr[j] > arr[j + 1] then
begin
temp := arr[j];
arr[j] := arr[j + 1];
arr[j + 1] := temp;
end;
```
使用快速排序的代码:
```
procedure QuickSort(var arr: array of integer; left, right: integer);
var
i, j, temp, pivot: integer;
begin
i := left;
j := right;
pivot := arr[(left + right) div 2];
while i <= j do
begin
while arr[i] < pivot do
Inc(i);
while arr[j] > pivot do
Dec(j);
if i <= j then
begin
temp := arr[i];
arr[i] := arr[j];
arr[j] := temp;
Inc(i);
Dec(j);
end;
end;
if left < j then
QuickSort(arr, left, j);
if i < right then
QuickSort(arr, i, right);
end;
begin
QuickSort(arr, 1, 10);
end.
```
两种排序算法的具体实现不赘述,感兴趣的同学可以自行搜索学习。
阅读全文