以下是pascal的有序插入代码,供参考。
Var
A:array[1..10000] of integer;
i,n:integer;
Procedure insert(var n:integer;x:integer);
Var I,j:integer;
Begin
if n=0 then a[1]:=x
else If x>a[n] then a[n+1]:=x
Else if x<=a[1] then begin
For I:=n downto 1 do a[i+1]:=a[i];
A[1]:=x;
End
Else begin
For I:=1 to n-1 do if (x>a[i])and(x<=a[i+1] ) then begin j:=I; break; end;
For I:=n downto j+1 do a[i+1]:=a[i];
A[j+1]:=x;
End;
Inc(n);
End;
begin
n:=0;
for i:=58 downto 1 do insert(n,i);
for i:=2 to 57 do insert(n,i);
for i:=1 to n do write(a[i]:3);
end.
温馨提示:答案为网友推荐,仅供参考