|
Quick Sort - Turbo Pascal
|
- Aufgabe
Schnelles Sortieren durch Teilen und anschließendem rekursivem
Sortieren der Teile unabhängig voneinander.
Für das Sortieren von N Elementen werden ungefähr N log N Operationen
benötigt.
- Struktogramm
- Quellcode
{ Funktion: Quick-Sort, sortieren
durch Teilen und Rekursion
Autor : DG1XPZ
Sprache : Turbo Pascal 7.0}
program insert;
type zahlenArray = array[0..9] of integer;
const a: zahlenArray=(9,5,8,6,3,7,4,0,1,2);
var m,n:integer;
procedure sort(l,r:integer);
var v,t,i,j: Integer;
begin
if r>l then
begin
v:=a[r];i:=l-1;j:=r;
repeat
repeat i:=i+1 until a[i]>=v;
repeat j:=j-1 until a[j]<=v;
t:=a[i]; a[i]:=a[j]; a[j]:=t;
until j<=i;
a[j]:=a[i]; a[i]:=a[r]; a[r]:=t;
sort(l,i-1);
sort(i+1,r);
end;
end;
procedure ausgabe(z: zahlenArray);
var
i: Integer;
begin
for i:=0 to (SizeOf(z) div SizeOf(z[0]))-1 do
begin
write(z[i]);
write(',');
end;
write('\b \n');
end;
begin
writeln('Sortieren mit Quick-Sort.');
sort(0,9);
writeln('Sortiert:');
ausgabe(a);
end.
- Download qsort.pas
|
|
|