|
Insertion Sort - Turbo Pascal
|
- Aufgabe
Sortieren durch direktes Einfügen.
Dieser Suchalgorithmus ist genauso einfach wie Selection-Sort,
aber flexibler.
Benötigt zwischen N²/4 und N²/2 Vergleiche und N²/8 und N²/4
Austauschoperationen.
Das betrachtete Element (h) wird eingefügt, indem die größeren Elemente (a[
x ]) um eine Position nach rechts kopiert werden und das Element (h) auf dem
frei gewordenen Platz (a[ j ]) eingefügt wird.
- Struktogramm
- Quellcode
{ Funktion: Insertion-Sort, sortieren durch direktes
Einfügen
Autor : DG1XPZ
Sprache : Turbo Pascal 7.0}
program insert;
type zahlenArray = array[0..9] of integer;
const zahlen: zahlenArray=(9,5,8,6,3,7,4,0,1,2);
var m,n:integer;
procedure sort;
var laenge,i,j,h: Integer;
begin
laenge:=SizeOf(zahlen) div SizeOf(zahlen[0])-1;
for i:=1 to laenge do
begin
h:=zahlen[i];
j:=i;
while zahlen[j-1]>h do
begin
zahlen[j]:=zahlen[j-1];
j:=j-1;
if j=0 then break;
end;
zahlen[j]:=h;
end;
end;
procedure ausgabe(z: zahlenArray);
var i: Integer;
begin
for i:=0 to (SizeOf(zahlen) div SizeOf(zahlen[0]))-1 do
begin
write(z[i]);
write(',');
end
write('\b \n');
end;
begin
sort;
writeln('Sortiert:');
ausgabe(zahlen);
end.
- Download insert.pas
|
|
|