кодесурса
«PHP

Алгоритм поиска и сортировки PHP: Bogo sort

script1adsense2code
script1adsense3code

Алгоритм поиска и сортировки PHP: упражнение 14 с решением

Напишите программу PHP для сортировки списка элементов, используя сортировку Bogo.

В информатике bogosort - это особенно неэффективный алгоритм сортировки, основанный на парадигме генерации и тестирования. Алгоритм последовательно генерирует перестановки своего ввода, пока не найдет отсортированный. Это не полезно для сортировки, но может использоваться в образовательных целях, чтобы противопоставить его другим более реалистичным алгоритмам.

Пример решения:

PHP-код:

<?php
function issorted($list)
{
    $cnt = count($list);
    for($j = 1; $j < $cnt; $j++)
    {
        if($list[$j-1] > $list[$j])
		{
                return false;
        }
    }
    return true;
}
function bogo_sort($list)
{
    do
    {
        shuffle($list);
    }
    while(!issorted($list));
    return $list;
}
$test_array = array(100, 0, 2, 5, -1, 4, 1);
echo "\nOriginal Array :\n";
echo implode(', ',$test_array );
echo "\nSorted Array :\n";
echo implode(', ',bogo_sort($test_array)). PHP_EOL;
?>

Пример вывода:

 Оригинальный массив:                                                    
100, 0, 2, 5, -1, 4, 1                                              
Сортированный массив:                                                      
-1, 0, 1, 2, 4, 5, 100 

Блок-схема:

«Блок-схема:

Редактор кода PHP:


Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите программу PHP для сортировки списка элементов с помощью сортировки по бисеру.
Далее: Напишите программу PHP для сортировки списка элементов с использованием сортировки Strand.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code