ホームページ > 毎日のプログラミング > PHPの知識 > バブルソートの詳細分析

バブルソートの詳細分析

**熬夜选手
リリース: 2020-05-01 17:49:50
オリジナル
392 人が閲覧しました

バブルソート

プログラミングやアルゴリズムに慣れていない友達にとって、ソートアルゴリズムはよくわからないかもしれません。次に、バブルソートを一緒に分析しましょう。

バブルソートの原理は何ですか?

配列を走査し、その間に 2 つの隣接するセルの値を比較します。前者が後者より大きい場合、2 つの値が交換されます。このプロセスの最後には、配列内の最大値が最後の位置に配置される必要があります。

上記の処理を再度実行すると、残ったデータの最大値が最後から2番目の位置にあることがわかります。

その後、再度上記の処理を続けると、残りのデータの最大値が最後から 3 番目の位置にあることがわかります。

などなど。 。 。 。 。

イラスト:

オリジナル配列
18 22 12
15 23 9
初めての旅行 18
22 12 15 9 23
2回目の旅行 18 22 12 9 15 23
3回目の旅行 18 22 9 12 15 23
4回目の旅行 18 9 12 15 22 23
5回目の旅行 9 12 15 18 22 23

コードのデモ:

$arr1 = array(18,22,12,15,23,9);
    $n = count($arr1);
    //控制要进行的躺数
    for($i = 0;$i < $n-1;$i++){
        //在每一趟里面,控制进行比较的次数
        for($k = 0;$k < $n-1-$i;$k++){
            if ($arr1[$k] > $arr1[$k+1]) {
                $temp = $arr1[$k];
                $arr1[$k] = $arr1[$k+1];
                $arr1[$k+1] = $temp;
            }
        }
    }
ログイン後にコピー

最後にルールをまとめます:

1. ペアを最初から最後まで比較し、位置を交換します。 $n は合計数 (配列の長さ) です

2. 隣接する 2 つのデータのサイズを毎回比較し、必要に応じて位置を交換します。

3. 各トリップの比較数は、前のトリップより 1 つ減ります: $n-1

以上がバブルソートの詳細分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
1
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート