Hallo,
ich brauche hilfe bei einem Insertsort in pascal.
Delphi-Quellcode:
procedure BinaryInsertSort(var A:TArr);
var
i,j,m,Left,Right,Insert:integer;
Tmp:integer;
begin
for i:=2 to N do begin
Tmp:=A[i];
Left:=1; Right:=i-1;
while Left <=Right do begin
m:=(Left+Right)div 2;
if Tmp<A[m]
then Right:=m-1
else Left:= m+1;
end;
for j:=i-1 downto Left do
A[j+1]:=A[j];
A[Left]:=Temp;
end;
end;
das hier hab ich schon alles. das geht aber nur wenn mehrere sachen nicht sortiert sind. nun möchte ich das aber so haben das ich ein element im array anfüge, der rest des arrays liegt aber bereits sortiert vor, wie mache ich das, dass nur das letzte element mithilfe der binären suche mit eingefügt wird?
sprich die stelle suchen, dann austauschen und den rest auch noch austauschen.
sprich einen insertsort für nur ein einzige element.
bitte helft mir
gruß und danke
sebastian