delphi 冒泡排序
时间: 2023-09-05 17:07:51 浏览: 44
以下是 Delphi 冒泡排序的示例代码:
```
program BubbleSort;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
MaxArraySize = 100;
type
TArray = array[1..MaxArraySize] of Integer;
var
A: TArray;
N: Integer;
procedure ReadData;
var
I: Integer;
begin
Write('Enter the size of the array (1-100): ');
ReadLn(N);
if (N < 1) or (N > MaxArraySize) then
raise Exception.Create('Invalid array size');
for I := 1 to N do
begin
Write('Enter element ', I, ': ');
ReadLn(A[I]);
end;
end;
procedure BubbleSort(var A: TArray; N: Integer);
var
I, J, Temp: Integer;
begin
for I := N downto 2 do
for J := 1 to I - 1 do
if A[J] > A[J + 1] then
begin
Temp := A[J];
A[J] := A[J + 1];
A[J + 1] := Temp;
end;
end;
procedure WriteData;
var
I: Integer;
begin
WriteLn('Sorted array:');
for I := 1 to N do
WriteLn(A[I]);
end;
begin
try
ReadData;
BubbleSort(A, N);
WriteData;
except
on E: Exception do
WriteLn(E.Message);
end;
end.
```
该程序首先从用户处读取一个整数数组,然后使用冒泡排序算法对其进行排序,最后将排序后的数组打印到控制台上。冒泡排序算法的核心代码位于 `BubbleSort` 过程中,其中使用两个嵌套的循环来比较相邻的元素并进行交换,以便将最大的元素逐渐“冒泡”到数组的末端。