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

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

Мне нужно сделать алгоритм сортировки пузырьков в PHP.

Я хочу знать, есть ли у кого-нибудь хорошие примеры, которые я могу использовать, или библиотеку с открытым исходным кодом, которая может это сделать.

У меня есть несколько пробелов в наборе (массиве), я хочу заполнить эти пространства объектом (человеком), поэтому никакое пространство не может иметь мужчину и женщину, поэтому я пытаюсь найти алгоритм сортировки пузырьков.

Мой план состоит в том, чтобы заполнить любое из доступных мест независимо от пола, и после этого сортировать их отдельно.

Использование пузырьковой сортировки – очень плохая идея. Он имеет сложность O(n^2) .

Вы должны использовать php usort , что на самом деле является реализацией сортировки слиянием и гарантированной сложностью O(n*log(n)) .

Пример кода из руководства PHP –

Может быть, кто-то найдет полезной мою версию Bubble Sort:

Я получил идею свопа (используя список) из комментария.

В PHP есть замечательные функции для сортировки массивов данных, но речь пойдет не о них. В данной заметке я разместил примеры реализации алгоритмов сортировок на PHP, так сказать, что бы не отпускать далеко из головы. Подробно расписывать не буду, а буду приводить ссылки на Википедию. Кому надо добавляем в закладки 😉

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

Ссылка на основную публикацию
Adblock detector