Пузырьковая сортировка массива

Пузырьковая сортировка

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

Наглядное изображение пузырьковой сортировки (сортировки пузырьком)

Давайте напишем реализацию этой сортировки, для этого я использую язык программирования PHP, код:

<?php
$array = [1, 3, 4, 5, 2, 6, 8, 0, 9, 7];

function bubbleSort($array)
    {
        for($i = 0; $i < count($array); $i++)
            {
                for($j = $i + 1; $j < count($array); $j++)
                    {
                        if($array[$i] > $array[$j])
                            {
                                $temp      = $array[$j];
                                $array[$j] = $array[$i];
                                $array[$i] = $temp;
                            }
                    }
            }

        return $array;
    }

$array = bubbleSort($array);
print_r($array);
?>

Если вы запустите этот скрипт, то в консоли вы увидите следующее:

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    [6] => 6
    [7] => 7
    [8] => 8
    [9] => 9
)

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

Подпишитесь на рассылку новых статей

Подпишитесь на рассылку свежих статей и присоединяйтесь к 5 остальным подписчикам.

Пузырьковая сортировка массива: 3 комментария

  1. Уведомление: Четно-нечетная (чет-нечет) сортировка массива — slashdash.ru

  2. Уведомление: Сортировка массива расческой — slashdash.ru

  3. Уведомление: Использование массивов (array) в PHP — slashdash.ru

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *