#1 14. September 2008 Sortieren durch Austauschen Hi, habe probiert einen sortier algorithmus zu probieren der nach dem verfahren des austauschens die elemente eines arrays zu sortieren. leider funktioniert das nich so richtig und ich weiss nich wieso... deswegen: könntet ihr mir vll helfen? wäre nett wenn ihr das problem in meinem code kennzeichnen könntet und nich gleich völlig neue programme postet Code: <?php //-------------------Die Swap Funktion------------------------------------------ function swap($zint, $ul){ $kelement=$ul[$zint]; $nelement=$ul[++$zint]; if ($kelement>=$nelement){ $temp=$kelement; $kelement=$nelement; $nelement=$temp; } else{ $zint++; } } //-------------------Das Array-------------------------------------------------- $ul = array ("Hans", "Otto", "Egon", "Ulli", "Alf", "Horst"); //-------------------Die äußere Schleife---------------------------------------- for ($zul=0;$zul<count($ul);$zul++){ //-------------------Die innere Schleife---------------------------------------- for ($zint=0;$zint<count($ul);$zint++){ //-------------------Aufruf der Swap Funktion mit den Parametern $zint und $ul-- swap($zint, $ul); //-------------------Ausgabe des momentanen Arrays------------------------------ while ($i<=count($ul)){ echo $ul[$i]; echo "<br>"; $i++; } } } //-------------------$i wird definiert------------------------------------------ $i=0; //-------------------Ausgabe des entgültigen Arrays----------------------------- while ($i<=count($ul)){ echo $ul[$i]; echo "<br>"; $i++; } //-------------------Ende ^^---------------------------------------------------- ?> + Multi-Zitat Zitieren
#2 14. September 2008 AW: Sortieren durch Austauschen guck dir mal bubblesort an: Bubblesort – Wikipedia Solltest dir auch eine übersichtlichere codeschreibweise angewöhnen. Nicht alles so gequetscht. + Multi-Zitat Zitieren
#3 14. September 2008 AW: Sortieren durch Austauschen nee das es soll ja nich aufsteigen sondern austauschen sein! + Multi-Zitat Zitieren
#4 14. September 2008 AW: Sortieren durch Austauschen schau mal auf Allgemeine und spezielle Sortieralgorithmen + Suchalgorithmen, vielleicht findest du da hilfe. + Multi-Zitat Zitieren
#5 16. September 2008 Zuletzt von einem Moderator bearbeitet: 15. April 2017 AW: Sortieren durch Austauschen Showthread Php 241644 / Download - RR:Suche Ist zwar in C++, aber du kannst dir die Theorie durchlesen und sie in PHP umsetzen. Wobei es in PHP ja ziemlich ähnlich gehen müsste. + Multi-Zitat Zitieren
#6 16. September 2008 AW: Sortieren durch Austauschen du swapst in deiner schleife glaube ich das letzte element des arrays mit dem sozusagen nächsten - welches garnicht existiert. die innere schleife muss Code: for ($zint=0;$zint<count($ul)-1;$zint++){ sein. da es ja reicht das vorletzte mit dem letzten zu tauschen und du darfst das letzte nicht mit dem letzten+1 tauschen. und du kannst das ganze noch optimieren, in dem du die äußere schleife von oben nach unten laufen lässt und die innere schleife nur bis zur aktuellen äußeren laufvariable gehen lässt. du schiebst ja in jedem äußeren schleifendurchlauf das größte element nach ganz rechts. das brauchst du denn ja nicht nochmal checken obs das größste ist im zweiten durchlauf denn das zweitgrößte etc etc... naja nur so am rande^^ hoffe das sollte jetzt klappen, rückmeldung wäre fein. mfg + Multi-Zitat Zitieren