@Vladimir-Hetman

Зачем нужна сортировка пузырьком?

Надыбал код в инете, который был реализован при помощи алгоритма bubble sort
Как я понимаю, данный код сортирует массив по возрастанию.
function bubble_sort(&$array){


for ($i=0; $i < count($array); $i++){

for ($y=($i+1); $y < count($array); $y++){

if ($array[$i] > $array[$y]){
$c = $array[$i];
$array[$i] = $array[$y];
$array[$y] = $c;
}}}}


$arr = array(92, 64, 87, 18, 17, 66, 50, 88, 99, 77);
bubble_sort($arr);

foreach($arr as $items){
echo $items."<br>";
}


Но зачем писать этот сложный алгоритм, когда можно сделать как в коде ниже
и результат будет тот же. Объясните пожалуйста, может я нуб и не понимаю чего-то?
$arr = array(92, 64, 87, 18, 17, 66, 50, 88, 99, 77);
asort($arr);

foreach($arr as $items){
echo $items."<br>";
}
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Но зачем писать этот сложный алгоритм, когда можно сделать как в коде ниже
и результат будет тот же.
Уверен что данный алгоритм был приведен для примера или в образовательных целях. Здесь важен не код, а алгоритм, по которому работает сортировка. Во всех функциях сортировки внутри функция, похожая на пузырьковую сортировку, в той или иной степени, просто написанная на C и скомпилированная в виде готовой функции. Подробнее можно посмотреть тут.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kyzinatra
ну а как по твоему устроена функция asort. Это конечно не сортировка пузырьком, но тоже какой-то алгоритм (быстрая сортировка или merge sort хз как это в пхп). Разные алгоритмы используются в разных ситуациях. Их стоит знать если хочется заоптимизировать что-то с сортировками. К примеру bubbleSort используется в основном только в целяю обучения или если у нас почти весь массив отсортирован и нужно поменять 1-2 элемена и проходов будет не много.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
02 мая 2024, в 21:59
15000 руб./за проект
02 мая 2024, в 21:54
1000 руб./в час
02 мая 2024, в 21:27
300000 руб./за проект