Ankündigung

Einklappen
Keine Ankündigung bisher.

Array sortieren (quicksort)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Regex
    hat ein Thema erstellt Array sortieren (quicksort).

    Array sortieren (quicksort)

    Hallo,
    ich habe folgendes Script in php geschrieben:

    PHP-Code:
    $asd = array(2,1,4,3);
    qsort(0count($asd)-1);


    function 
    qsort($anfang$ende) {
        
    $l $anfang;
        
    $r $ende;
        
    $p $asd[$ende];
        while (
    $l <= $r) {
            while (
    $asd[$l] < $p) {$l++;}
            while (
    $asd[$r] > $p) {$r--;}
            if (
    $l <= $r) {
                
    tausche($l,$r);
                
    $l++;
                
    $r--;
            }
        }
        if (
    $anfang $r) {qsort($anfang,$r);}
        if (
    $l $ende) {qsort($l,$ende);}
    }

    function 
    tausche($a,$b) {
        
    $temp $asd[$a];
        
    $asd[$a] = $asd[$b];
        
    $asd[$b] = $temp;
    }

    for(
    $i 0$i count($asd); $i++) {
                echo 
    $asd[$i];
            } 
    Wenn ich nun das Script aufrufe, gibt er mir den unsortierten Array aus. Wo ist der Fehler?
    Ich bin gerade umgestiegen auf PHP, habe nur ein paar Erfahrungen mit Java bisher und dies ist eins meiner ersten Scripte. Ich würd mich sehr freuen über eure Hilfe!

    Lg

  • Regex
    antwortet
    ... und es funktioniert, hihi
    Ich danke Dir!

    Lg

    Einen Kommentar schreiben:


  • agrajag
    antwortet
    Hallo Regex,

    ich habe mir jetzt nicht angeschaut, ob deine Implemenierung des Quicksort hinhaut... dein Problem ist ganz einfach:

    In PHP sind Variablen die außerhalb von Funktionen definiert werden nicht automatisch "global"... Das heißt du musst die sozusagen erst in den lokalen Scope der Funktion importieren.... Das geht mit dem Schlüsselwort "global".
    Siehe: PHP: Variable scope - Manual

    (Das globale-Variablen böse sind weißt du ja wahrscheinlich selbst )

    Einen Kommentar schreiben:

Lädt...
X