PHP snippets

Примеры PHP кода

Сортировка массива пузырьком

Алгоритм состоит в повторяющихся проходах по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При проходе алгоритма, элемент, стоящий не на своём месте, «всплывает» до нужной позиции как пузырёк в воде, отсюда и название алгоритма.

http://ru.wikipedia.org/wiki/Bubblesort

<?php

$arr = array(4, 8, 1, 8, 4, 9, 0, 3, 5, 3, 1, 2, 6, 4, 9, 43, 42);

$t = true;
while ($t) {
    $t = false;
    for ($i = 0; $i < count($arr) - 1; $i++) {
        if ($arr[$i] > $arr[$i + 1]) {
            $temp = $arr[$i + 1];
            $arr[$i + 1] = $arr[$i];
            $arr[$i] = $temp;
            $t = true;
        }
    }
}

echo '<pre>';
print_r($arr);
echo '</pre>';