Mein Quicksort:
Bloß das sich ein dummer Fehler eingeschlichen hat, und ich ihn net sehe.....!
Kann mir jemand weiterhelfen?
Code:
package a01;
public class QuickSortVerfahren {
public static void tauscheWerte(int[]stapel,int a, int b){
int helper=stapel[a];
stapel[a]=stapel[b];
stapel[b]=helper;
}
/******************************************************
* Funktion zur Sortierung eines Feldes austeigend
* Parameter:
* @param- stapel: das zu sortierende Feld
* @param- anfang: der Anfangswert des Feldes stapel
* @param- ende: der Endwert des Feldes stapel
* Vorbedingung: R ist aufsteigend sortiert
* @returnReturn: Sortiertes Feld aufsteigend,wenn Feld leer oder Größe 1,
* dann wird das Feld stapel zurückgegeben
* Effekt: -
*****************************************************/
public static void QuickSort(int[]stapel,int anfang,int ende){
while (ende>anfang){
int pivot=stapel[stapel.length-1];
int j=ende;
int i=anfang;
while(i<=ende){
i++;
while(j>=anfang){
j--;
if(stapel[i]>pivot){// Wenn linkes El. grösser als Pivot und rechtes El.kleiner, dann tausche beide
if(stapel[j]<pivot){
System.out.println("JAJAJAJA");
tauscheWerte(stapel,i,i);
}
}
}
}
if(i>=j){
tauscheWerte(stapel,i,pivot);
}
QuickSort(stapel,anfang,pivot-1);
QuickSort(stapel,pivot+1,ende);
}
}
public static void main(String[] args) {
int[]kleinarray=FileIntArray.FileToIntArray("../ALG1/src/a01/Rand20_1");
QuickSort(kleinarray,0,19);
for(int i=1;i<kleinarray.length;i++){
System.out.println(kleinarray[i]);
}
}
}
Bloß das sich ein dummer Fehler eingeschlichen hat, und ich ihn net sehe.....!
Kann mir jemand weiterhelfen?