思路:当前a[1]..a[i-1]已排好序了,现要插入a[i]使a[1]..a[i]有序。 procedure insert_sort; var i,j:integer; begin for i:=2 to n do begin a[0]:=a[i]; j:=i-1; while a[0]<a[j] do begin a[j+1]:=a[j]; j:=j-1; end; a[j+1]:=a[0]; end; end;{inset_sort}