ホームページ 毎日のプログラミング PHPの知識 PHP バブルソートアルゴリズム (1)

PHP バブルソートアルゴリズム (1)

Feb 26, 2019 pm 02:37 PM



前回の記事では、PHP アルゴリズム シリーズ「PHP はランダムに 1 つのアルゴリズムを選択します#」を紹介しました。 ##」。今日は引き続き、一般的な PHP アルゴリズム シリーズ、つまり PHP バブル ソート アルゴリズム の関連知識ポイントについて説明します。

PHP バブルソートアルゴリズム (1)

バブルソートは、プログラマーにとって馴染みのあるものではないと思います。簡単に言うと、バブル ソート アルゴリズムは、2 つの隣接する数値を順番に比較し、最後の 2 桁までサイズに従って並べ替えます。

これが「バブル ソート」アルゴリズムと呼ばれる理由は、炭素の泡のように、より大きな要素が交換 (昇順または降順に並べられる) によって配列の先頭にゆっくりと「浮遊」するためです。炭酸飲料では二酸化炭素が最終的には上に浮いてきます。


以下では、具体的なコード例に基づいて

PHP バブル ソート アルゴリズム の実装を紹介します。 (以下は昇順です。つまり、小さいものから大きいものへ)

コード例は次のとおりです。

<?php
function maopao($arr){
    $len = count($arr);
    for($k=0;$k<=$len;$k++)
    {
        for($j=$len-1;$j>$k;$j--){
            if($arr[$j]<$arr[$j-1]){
                $temp = $arr[$j];
                $arr[$j] = $arr[$j-1];
                $arr[$j-1] = $temp;
            }
        }
    }
    return $arr;
}
$arr = [2,6,2,8,2,34,5,9,2341,23];

var_dump(maopao($arr));
ログイン後にコピー

ここでは、まず maopao メソッドを定義します。 、 count 関数を通じて数値を数えます。配列の全長を指定します。次に、二重の for ループ ステートメントを使用して配列要素をループし、それらを 1 つずつ比較します。次に、外側の for ループを使用してループのラウンドを制御し、内側の for ループで各ラウンドの比較の数を制御します。各ラウンドの比較後の最大の値が最後に配置されます。

: ここでは、ループ内の 2 つの隣接する要素を比較し、大きい方の値を最後に置くために、$j の値を一時変数 $temp media に保存します。

出力:

array (size=10)
  0 => int 2
  1 => int 2
  2 => int 2
  3 => int 5
  4 => int 6
  5 => int 8
  6 => int 9
  7 => int 23
  8 => int 34
  9 => int 2341
ログイン後にコピー

バブルソートのアルゴリズム原理の概要: 一連のデータに対して、隣接するデータの大きさを比較し、値が小さいデータを前に置き、そのデータを後ろに大きな値が付いています。

この記事は PHP バブル ソート アルゴリズムの紹介です。次の記事「

PHP バブル ソート アルゴリズム (2)」では、XdebugDebug を使用します。バブルソートアルゴリズムを誰にとってもより直観的に実行する実装プロセス。



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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)