jak wykonac sortowanie przez zamiane wymiane wybor algorytm selection sort, PHP Skrypty


[PHP] Jak wykonać sortowanie przez zamianę/wymianę/wybór (algorytm Selection Sort)?

0x01 graphic

Chcesz wykorzystać do sortowania algorytm SelectionSort.

0x01 graphic

To bardzo prosty algorytm, który nadaje się do sortowania niewielkich tablic. Polega na znajdowaniu najmniejszego elementu w tablicy i zamianie tego elementu z aktualnym w pętli.

Algorytm wykorzystuje dwie pętle for, w których przegląda zawartość tablicy. Pierwsza służy do przemieszczania się po kolejnych elementach tablicy, a druga odnajduje najmniejszy element tablicy w pozostałych elementach.

Gdy zostanie znaleziony najmniejszy element, jest on zamieniany z aktualnym (stąd nazwa algorytmu), a więc zawartość tablicy od razu jest porządkowana od najmniejszego do największego elementu.

<?

$t = array(1, 9, 7, 2, 6, 7, 3);

$n = count($t); // liczba elementów tablicy

for ($i=0;$i<$n;$i++) {

$min = $i;

for ($j=$i;$j<$n;$j++) if ($t[$min]>$t[$j]) $min = $j;

list($t[$i],$t[$min]) = array($t[$min],$t[$i]);

}

for($i=0;$i<$n;$i++) echo $t[$i],", ";

// wynik: 1, 2, 3, 6, 7, 7, 9,

?>

Pierwsza iteracja szuka najmniejszego elementu w całej tablicy, druga iteracja zaczyna poszukiwanie od drugiego elementu, trzecia iteracja szuka od trzeciego elementu, itd.

Wymiana elementów tablicy została wykonana przy pomocy triku z list() i array(), bez potrzeby korzystania ze zmiennej tymczasowej.



Wyszukiwarka

Podobne podstrony:
jak wykonac sortowanie przez wstawianie algorytm inserion sort, PHP Skrypty
jak wykonac sortowanie babelkowealgorytm bubble sort, PHP Skrypty
Jak zrobić stronę dostępną na hasło tylko dla wybranych użytkowników, PHP Skrypty
Jak wyświetlić zawartość katalogu jako linki służące do pobrania plików, PHP Skrypty
Jak chronić adres e-mail na stronie przed spamem stosując przekierowanie, PHP Skrypty
jak wyliczyc kiedy nastapi wschod i zachod slonca dla dowolnego dnia, PHP Skrypty
Jak zapisać i potem odczytać grafikę lub dowolny plik w bazie danych, PHP Skrypty
Jak zabezpieczyć się przed wielokrotnym wykonywaniem kodu po odświeżeniu strony, PHP Skrypty
Jak sprawdzić czy istnieje podany użytkownik i jego hasło jest poprawne, PHP Skrypty
Jak sprawdzić czy numer rachunku bankowego (NRB) został wpisany poprawnie, PHP Skrypty
jak zapisac i potem odczytac grafikę lub dowolny plik w bazie danych, PHP Skrypty
jak zalozyc vaze danych dBase(dbf) i dodac do niej rekordy, PHP Skrypty
Jak zrobić stronę dostępną na hasło tylko dla wybranych użytkowników, PHP Skrypty
Jak wyświetlić zawartość katalogu jako linki służące do pobrania plików, PHP Skrypty
Algorytm sortowania przez wybór w porządku rosnącym
29 Sortowanie przez wybór (selekcję)
MAMO i babciu, Księga życzeń--zrób sam, instrukcja-jak wykonać

więcej podobnych podstron