クイックソート再帰バージョンPHP実装

不言
リリース: 2023-03-23 22:10:02
オリジナル
1053 人が閲覧しました

この記事は、クイックソートの再帰バージョンの PHP 実装を紹介します。これは、必要な友人と共有できるようになりました。最もよく知られているクイック ソートを作成してください。残念ですが、今後の参考のためにコードを投稿してください

function qSort(array &$a, $low, $high)
{   
    if($low >= $high) {
        return;
    }
    $index = partition($a,$low,$high);
    qSort($a,$low,$index-1);
    qSort($a,$index+1,$high);
}
ログイン後にコピー
//元素相互赋值比交换效率
function partition(array &$a, $low, $high)
{
    $temp = $a[$low];
    while($low < $high) {
        while($low < $high && $a[$high] >= $temp) { 
            --$high;
        }   
        $a[$low] = $a[$high];
        while($low < $high && $a[$low] <= $temp) {
            ++$low;
        }   
        $a[$high] = $a[$low];
    }   
    $a[$low] = $temp;
    return $low;
}
ログイン後にコピー

$a = [0,20,7,-1,6,2,6,2,8,9,0 ,1];

qSort( $a, 0, count($a) -1);



var_dump(implode(',', $a));

結果表示: -1,0,0,1 ,2,2,6, 6,7,8,9,20

関連する推奨事項:

JavaScript がクイック ソートを実装する方法の詳細なコード説明

php アルゴリズム クイック ソート

以上がクイックソート再帰バージョンPHP実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!