var
num: array of Integer; // 打比方 array里记录的是[5, 3, 2, 4, 1] =>要的到的结果为[1, 2, 3, 4, 5]
i: Integer = 1; // i记录要比较数的位置
{首先明白字符串,比如'12345' 要得到1那么就是s[1], 取5那么就是s[5] , 取数组跟取字符串一样 那么就需要取出每位数字比较}
{$R *.fmx}
procedure TForm2.Button1Click(Sender: TObject);
var
l, j, k, n: Integer;
begin
for l := 1 to i - 1 do // 这个是比较的总次数,如果有四位数则只比较3次
begin
k := i - l; // k记录比较的那个数的前一个数的位置 比如 现在比较的是最后一位1,那么当时的k就是倒数第二位4的位置
for j := 1 to k do // j记录从字符串第一个到比较的数的前两位的位置,一直循环
begin
if (num[j] < num[j + 1]) then // 这里面就是比较的内容啦 如果前一位小于后一位
begin
n := num[j]; // 则n 为小的那位数
num[j] := num[j + 1]; // 此时,小的那位数存放下一位数
num[j + 1] := n; // 下一位数存放小的那位数,这样顺序就调过来了
end; // 一直循环,直到比较完位置。
end;
end;
Label1.text := '';
for l := i - 1 downto 1 do
Label1.text := Label1.text + inttostr(num[l]) + ' '; //输出
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Label1.Text := Label1.Text + ' ' + Edit1.text;
num[i] := strtoint(Edit1.text);
i := i + 1;
Edit1.text := '';
Edit2.text := inttostr(i);
end;
var
a:array[1..4] of integer;
i, j, temp, n:integer;
begin
read(n);
for i := 1 to n do read(a[i]);
for i := 1 to n do
for j := 1 to n-i do
if a[j] > a[j + 1] then
begin
temp := a[j];
a[j] := a[j + 1];
a[j+1] := temp;
end;
for i:= 1 to n do write(a[i]);
end;