Advertisement
cr34tiv3

Untitled

Sep 19th, 2012
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.90 KB | None | 0 0
  1.  void quicksort(int a[], int l, int r){     //a=Array, l=linker Rand, r=rechter Rand
  2.             if(r>l){                    //solange mehr als 1 Folgenelement existiert
  3.                 int i=l-1, j=r, tmp;            //Variableninitialisierung mit Folgenrändern
  4.                 for(;;){                //Endlosschleife; bricht ab, wenn i>=j
  5.                     while(a[++i]<a[r]);         //inkrem., bis größeres  Element gefunden wird
  6.                     while(a[--j]>a[r] && j>i);      //dekrem., bis kleineres Element gefunden wird
  7.                     if(i>=j) break;         //brich ab, wenn sich die Folgenzeiger treffen
  8.                     tmp=a[i]; a[i]=a[j]; a[j]=tmp;  //tausche kleineres mit größerem Element
  9.                 }
  10.                 tmp=a[i]; a[i]=a[r]; a[r]=tmp;      //tausche Trennelement
  11.  
  12.                 quicksort(a, l, i-1);           //rekursiver Aufruf für linke Teilfolge
  13.                 quicksort(a, i+1, r);           //rekursiver Aufruf für rechte Teilfolge
  14.             }
  15.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement