Programmierung

Quick Sort - C++


 
  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

    #include<iostream.h>
    // Funktion: Quick-Sort, sortieren durch Teilen und Rekursion
    // Autor : DG1XPZ
    // Sprache : Borland C++ V5.0

    void sort(int l,int r);
    int zahlen[] = {9,5,8,6,3,7,4,0,1,2}; /* Zahlenarray*/
    int i,j,a,laenge,h;

    void main(void){
       laenge=sizeof(zahlen)/sizeof(zahlen[0]);
       cout<<"Unsortiert: ";
       for(i=0;i<laenge;i++){
          cout<<zahlen[i]<<",";
       }
       cout<<"\b \n";
       sort(0,laenge);
       cout<<"Sortiert : ";
       for(i=0;i<laenge;i++){
          cout<<zahlen[i]<<",";
       }
       cout<<"\b \n";
    }

    void sort(int l,int r){
       if (r>l){
          int v=zahlen[r];
          int i=l-1;
          int j=r;
          int t;
          do{
             do{
                i++;
             }while(zahlen[i]<v);
             do{
                j--;
             }while(zahlen[j]>v && j!=0);
             t=zahlen[i];
             zahlen[i]=zahlen[j];
             zahlen[j]=t;
          }while(j>i);
          zahlen[j]=zahlen[i];
          zahlen[i]=zahlen[r];
          zahlen[r]=t;
          sort(l,i-1);
          sort(i+1,r);
       }
    }

  4. Download quick.zip

 

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

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