PHP バブル ソート アルゴリズムはどのように実装されていますか? (写真 + ビデオ)

藏色散人
リリース: 2020-02-22 17:50:18
オリジナル
9183 人が閲覧しました

この記事では、PHP バブル ソート アルゴリズム の具体的な実装原理と方法を詳しく紹介します。

PHP プログラマーにとって、アルゴリズムとデータ構造を習得することは、プロジェクト開発において非常に重要な能力要素です。したがって、PHPバブルソートはPHP開発者にとって必須のソートアルゴリズムスキルとも言えます。

実は、どんなに難しいアルゴリズムであっても、原理を理解していればとても簡単になります。

まず第一に、誰もが バブル ソート とは何なのかを理解する必要があります。

たとえば、湧き水が泡立つ現象をネットや現実で見たことがあると思いますが、その泡が小さなものから大きなものへと上昇していくのがわかります。さらに、アルゴリズムには昇順または降順もあります。 昇順とは、バブリング現象と同様に、小さいものから大きいものへの並べ替えを指します。

バブルソートの原理は非常に理解しやすいです:

データセット内の隣接するデータをそれぞれ比較し、値が小さいデータを前に移動し、次のようにデータを移動します。大きい値は前にあります。データは後ろにあります。

以下では、具体的な

バブル ソート コード の例を使用して詳しく説明します。

<?php
$arr = [6, 2, 4, 8, 5, 9];
function maopao($arr)
{
    $len = count($arr);
    $n = count($arr) - 1;
    for ($i = 0; $i < $len; $i++) {
        for ($j = 0; $j < $n; $j++) {
            if ($arr[$j] > $arr[$j + 1]) {
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j + 1];
                $arr[$j + 1] = $tmp;
            }
        }
    }
    return $arr;
}
var_dump(maopao($arr));
ログイン後にコピー

上記のコードに示すように、$arr 配列に対して

バブル ソートを実行する必要があります。つまり、配列要素は 小さいものから大きいものまで の順序で配置される必要があります。

ここでは

for ループ を 2 回使用する必要があります。最初の for ループはデータ比較のラウンド数を制御するために使用され、次に 2 番目の for ループは数を制御し、サイズ交換位置を決定するために使用されます。そして、ここでのif文の判定の考え方は、現在の値が次の値より大きい場合、位置を入れ替えて、大きい方の値を一時変数$tmpに与えるというものです。後続の小さな値が大きな値を置き換え、大きな値が小さな値を置き換えます。

最後に、上記のコードで maopao メソッドを呼び出します。結果は次のようになります。

PHP バブル ソート アルゴリズムはどのように実装されていますか? (写真 + ビデオ)

図から明らかなように、データはすべて大きい順に並べ替えたものです。

一部の友人が PHP バブル ソートを特に理解していない場合は、

xdebug を使用してコード内でバブル ソートをデバッグすることもできます。以下に示すように:

PHP バブル ソート アルゴリズムはどのように実装されていますか? (写真 + ビデオ)

xdebug の構成と使用法は以前の記事で紹介されていますので、必要な方は [

How to configure xdebug in] を参照してください。 PHPStorm ツールと使用法 ]。

上記は、PHP バブル ソートの詳細な紹介です。 PHP についてさらに詳しく知りたい場合は、PHP 中国語 Web サイト

PHP ビデオ チュートリアル を参照して学習してください。

以上がPHP バブル ソート アルゴリズムはどのように実装されていますか? (写真 + ビデオ)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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