algorithmen:algolektionl1
Dies ist eine alte Version des Dokuments!
Lösungsvorschlag
<form action="sortieren.php" method="POST"> <input type="text" name="zahlen" /> <input type="submit" value="Do it!" /> </form> <?php $jetzt = microtime(); print $jetzt; $zahlen = $_POST['zahlen']; $einzelzahlen = explode(" ", $zahlen); $anzahl = count($einzelzahlen); //echo $anzahl; //print_r($einzelzahlen); // Alle "leeren" Elemente rauswerfen $dieguten = array(); for( $i=0; $i<$anzahl; $i++) { if( is_numeric($einzelzahlen[$i])){ print "Index $i: $einzelzahlen[$i] ist Zahl<br />"; $dieguten[] = $einzelzahlen[$i]; } } print_r($dieguten); $anzahl = count($dieguten); $grenze = 0; while($grenze < $anzahl) { // kleinstes Element suchen $index_min = $grenze; for( $i = $grenze; $i<$anzahl; $i++) { if ($dieguten[$i] < $dieguten[$index_min]) { $index_min = $i; } } // $dieguten[$index_min] ist das kleinste Element# // vertausche $dieguten[$grenze] mit $dieguten[$index_min] $zwischen = $dieguten[$grenze]; $dieguten[$grenze] = $dieguten[$index_min]; $dieguten[$index_min] = $zwischen; // Grenze eins nach rechts $grenze++; } $zeit = microtime() - $jetzt; print_r($dieguten); print "dauer: $zeit"; ?>
algorithmen/algolektionl1.1327497590.txt.gz · Zuletzt geändert: 25.01.2012 13:19 von Stefan Gaum