实话说吧,不是没人知道,反问楼主,你觉得这来个算法难吗?我觉得有时候自己应该多想想啊。1: A[n] 保存已经排好序的(从小到大) B[n] 未排 for i:=0 to n do begin A[i] := B[i]; for j:=i to 0 do begin if (B[j] < A[j]) then begin Temp := B[j]; B[j] := A[j]; A[j] := Temp; end else break; end end2:不知道你要按何种方式遍历,不过我还是认为这也不是什么难题啊,楼主自己思考思考吧!
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; ListBox1: TListBox; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private A:array[1..10] of integer; B:array[1..10] of integer; { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject); begin A[1]:=5; A[2]:=2; A[3]:=4; A[4]:=6; A[5]:=9; A[6]:=10; A[7]:=7; A[8]:=8; A[9]:=3; A[10]:=1; end;procedure TForm1.Button1Click(Sender: TObject); var I,J:Integer; Temp:Integer; begin B[1]:=A[1]; J:=2; for I:=Low(A)+1 to High(A) do begin J:=I-1; while J>=1 do begin if B[J]>A[I] then begin Temp:=B[J]; B[J]:=A[I]; B[J+1]:=Temp; J:=J-1; end else begin B[J+1]:=A[I]; break; end; end; end; end;procedure TForm1.Button2Click(Sender: TObject); var I:integer; begin for I:=Low(A) to High(A) do begin ListBox1.Items.Add(Inttostr(B[I])); end; end;end.插入排序的李子!
A[n] 保存已经排好序的(从小到大)
B[n] 未排
for i:=0 to n do
begin
A[i] := B[i];
for j:=i to 0 do
begin
if (B[j] < A[j]) then
begin
Temp := B[j];
B[j] := A[j];
A[j] := Temp;
end
else
break;
end
end2:不知道你要按何种方式遍历,不过我还是认为这也不是什么难题啊,楼主自己思考思考吧!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
A:array[1..10] of integer;
B:array[1..10] of integer;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
A[1]:=5;
A[2]:=2;
A[3]:=4;
A[4]:=6;
A[5]:=9;
A[6]:=10;
A[7]:=7;
A[8]:=8;
A[9]:=3;
A[10]:=1;
end;procedure TForm1.Button1Click(Sender: TObject);
var
I,J:Integer;
Temp:Integer;
begin
B[1]:=A[1];
J:=2;
for I:=Low(A)+1 to High(A) do
begin
J:=I-1;
while J>=1 do
begin
if B[J]>A[I] then
begin
Temp:=B[J];
B[J]:=A[I];
B[J+1]:=Temp;
J:=J-1;
end
else
begin
B[J+1]:=A[I];
break;
end;
end;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
I:integer;
begin
for I:=Low(A) to High(A) do
begin
ListBox1.Items.Add(Inttostr(B[I]));
end;
end;end.插入排序的李子!