Programmierung

Quick Sort - Turbo Pascal


 
  1. 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. 

  2. Struktogramm

    Quick-Sort

  3. 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.

  4. Download qsort.pas

 

http://www.counter-service.de http://www.counter-service.de

Home
uebermich
Programmierung
Amateurfunk
Elektronik
Download
Links
E-Mail
Gästebuch/Meckerecke
Counter-DG1XPZ