algorytm.org

Implementacja w Php



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Sortowanie szybkie (quicksort) - Implementacja w Php
Ocena użytkownikóww: *****  / 3
SłabyŚwietny
Nadesłany przez kiziorgd, 09 marca 2016 16:02
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

quicksort.php:
<?php
//Sortowanie szybkie (quickosort)
//www.algorytm.org

function quickSort($arr)
{
    //jezeli argumentem jest tablica pusta lub jednoelementowa 
    //to nie trzeba jej juz sortowac, zwroc ja od razu i zakoncz dzialanie
    if (count($arr) <= 1){
        return $arr;
    }

    $pivot = $arr[0];
    $smaller = [];
    $equal = [];
    $greater = [];

    //wrzuc do tablicy $smaller elementy mniejsze od elementu dzielacego $pivot
    foreach ($arr as $x) {
        if ($x < $pivot) {
            array_push($smaller, $x);
        }
    }

    //wrzuc do tablicy $equal elementy rowne elementowi dzielacemu $pivot
    foreach ($arr as $x) {
        if ($x == $pivot) {
            array_push($equal, $x);
        }
    }

    //wrzuc do tablicy $greater elementy wieksze od elementu dzielacego $pivot
    foreach ($arr as $x) {
        if ($x > $pivot) {
            array_push($greater, $x);
        }
    }

    //scal:
    //- wyniki sortowania tablicy elementow mniejszych, 
    //- tablicy elementow rownych,
    // wyniku sortowania elementow wiekszych
    return array_merge(quickSort($smaller), $equal, quickSort($greater));
}

$tablica = array(16, 16, 4, 4, 10, 6, 14, 3, 15, 4, 4, 8, 1, 11, 12, 2, 19, 20, 7, 13, 5, 9, 1, 0, 18, 17);

//sortuj tablice
$sorted = quickSort($tablica);

//wypisz wynik
var_dump($sorted)

?>
Dodaj komentarz