アルゴリズムとデータ構造

PHP ボゴソート Bogo Sort

PHP

https://github.com/yuukanehiro/AlgorithmsDataStructure/blob/main/Sort/BogoSort.php

 

 

ボゴソート?

偶然揃うまでシャッフルし続ける

 

ネタソート

 

実装してみたよ

 

<?php

$list = range(1, 8);
shuffle($list);
print_r(bogoSort($list));
// Array
// (
//     [試行回数] => 7146
//     [data] => Array
//         (
//             [0] => 1
//             [1] => 2
//             [2] => 3
//             [3] => 4
//             [4] => 5
//             [5] => 6
//             [6] => 7
//             [7] => 8
//         )
// )


/**
 * ボゴソート
 *
 * @param array $list
 * @return array
 */
function bogoSort($list): array
{
    shuffle($list);

    $clone_list = $list;
    sort($clone_list);

    $count = 1;
    while (true) {
        shuffle($list);
        if ($clone_list == $list) {
            return $response = [
                '試行回数' => $count,
                'data' => $list
            ];
        }
        $count++;
    }
}

 

 

 

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)