Jak na mój rozum stworzyłem 2 podobne, aczkolwiek inne wersje sortowania bąbelkowego. Jedno, oparte na for'ach, drugie na do..while.
Mam dylemat nad tym, czy aby nie pomyliłem się i to co napisałem napewno jest tym właśnie sortowaniem, czy też nie.
Oto kod pierwszego, z wykorzystaniem pętli for:
<?php // 10 losowych liczb z zakresu 1-50 for( $i = 0; $i < 10; $i++ ) { } for( $i = 0; $i < $elementow; $i++ ) { for( $j = 0; $j < $elementow; $j++ ) { if( $liczby[$j] < $liczby[$j+1] ) { $tmp = $liczby[$j]; $liczby[$j] = $liczby[$j+1]; $liczby[$j+1] = $tmp; } } } // tablica $liczby jest posortowana od największej do najmniejszej ?>
A teraz z do..while:
<?php // 10 losowych liczb z zakresu 1-50 for( $i = 0; $i < 10; $i++ ) { } $i = 0; do { $k = 0; do { if( $liczby[$i] < $liczby[$i+1] ) { $tmp = $liczby[$i+1]; $liczby[$i+1] = $liczby[$i]; $liczby[$i] = $tmp; $k++; } $i++; } while( $i < $elementow ); $i = 0; } while( $k != 0 ); // tablica $liczby jest posortowana od największego do najmniejszego ?>
Dzięki i pozdrawiam.