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

  • 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

  • #2
    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 )
    [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

    Kommentar


    • #3
      ... und es funktioniert, hihi
      Ich danke Dir!

      Lg

      Kommentar

      Lädt...
      X