16,748
社区成员
发帖
与我相关
我的任务
分享
procedure TForm1.Button1Click(Sender: TObject);
var
i, j, n, m: Integer;
A: array[0..9] of Integer;
B: array of Integer;
OutStr: String;
begin
A[0] := 2;
A[1] := 5;
A[2] := 3;
A[3] := 9;
A[4] := 6;
A[5] := 17;
A[6] := 23;
A[7] := 12;
A[8] := 0;
A[9] := 8;
OutStr := '';
m := 7;
SetLength(B, m);
for i := 0 to 9 do
begin
n := -1;
for j := 0 to Min(i - 1, m - 1) do
if A[i] > B[j] then
n := j
else
Break;
if n > m - 2 then
Continue;
for j := m - 1 downto n + 2 do
B[j] := B[j - 1];
B[n + 1] := A[i];
end;
for i := 0 to m - 1 do
OutStr := OutStr + ' ' + IntToStr(B[i]);
ShowMessage('B:'+ Trim(OutStr));
end;
for i := 0 to m + 3 do
OutStr := OutStr + ' ' + IntToStr(B[i]);