Schnelle Sortierung mit random pivot in Java

Habe ich schon zugeordnet zu implementieren eine schnelle Sortierung mit einem zufälligen pivot-Punkt (weil es angeblich das effizienteste/sicherste Weg), aber ich habe schuftende über eine bogosort. Kann jemand mir direkt auf, wie es zu tun? Und kann mir jemand helfen Blick auf meine bogosort um zu sehen, ob ich es überhaupt?

public static void Quick(int[] target, int lo, int hi) {
    if(hi-lo==0){return;}
    Random numberGenerator = new Random();
    int pivot = (numberGenerator.nextInt(hi-lo)+lo);
    int high;
    for(high=hi; high>pivot ; high--){
        if(target[high]<target[pivot]){ //if highest was smaller than pivot, move far end 
            if(high-pivot==1){
                int temp=target[high];
                target[high]=target[pivot];
                target[pivot]=temp;
            }
            else{
                int temp1 = target[pivot];
                int temp2 = target[pivot+1];
                target[pivot]=target[high];
                target[pivot+1]=temp1;
                target[high]=temp2;
            }
        }
    }
    int low;
    for(low=lo; low<pivot ; low++){
        if(target[low]>target[pivot]){ //if highest was smaller than pivot, move far end
            if(pivot-low==1){
                int temp=target[low];
                target[low]=target[pivot];
                target[pivot]=temp;
            }
            else{
                int temp1 = target[pivot];
                int temp2 = target[pivot-1];
                target[pivot]=target[low];
                target[pivot-1]=temp1;
                target[low]=temp2;
            }
        }
    }
    if(low-lo>0){
        Quick(target, lo, low-1);
    }
    if(hi-high>0){
        Quick(target, high+1, hi);
    }
}
  • Es ist self-study
  • Ihre Random Instanz sollte nicht eine lokale variable.
  • S, auch wenn es nicht' mein problem lösen
  • das ist, warum es war, einen Kommentar statt einer Antwort 🙂
  • S. - ah, touche, hahaha
  • was bedeutet bogosort bedeuten?

InformationsquelleAutor Dan | 2010-07-28
Schreibe einen Kommentar