ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで実装されたバブル ソートのいくつかの例

PHP_PHP チュートリアルで実装されたバブル ソートのいくつかの例

WBOY
WBOYオリジナル
2016-07-13 10:48:16802ブラウズ

PHP バブルソートは、データ交換を実装し、最大値と最小値を見つけて、最後に位置を交換してソートすることです。これは、これまで最も使用されてきたソート方法です。

バブルソートの基本概念は次のとおりです:

小数点を前に、大きい数を後ろに置いて、2 つの隣接する数値を順番に比較します。つまり、最初のパスでは、まず 1 番目と 2 番目の数値を比較し、小数点を前に、大きな数値を後ろに置きます。次に、2 番目の数値と 3 番目の数値を比較し、小数を前に、大きな数値を後ろに置きます。最後の 2 つの数値を比較するまで同様に、小数を前に、大きな数値を後ろに置きます。これで最初の旅行が終了し、最大数が最後に残ります。 2 番目のパスでは、引き続き最初の数値ペアから比較を開始します (2 番目の数値と 3 番目の数値の交換により、最初の数値が 2 番目の数値より小さくなくなっている可能性があるため)、小数点を最初に置きます。 、および大きな数値を配置した後、最後から 2 番目の数値まで比較が続行されます (最後から 1 番目の位置がすでに最大になっています)。2 番目のパスの終了時に、最後から 2 番目の位置で新しい最大数値が取得されます。位置 (実際には、シーケンス全体の中で 2 番目に大きい番号です)。このようにして、最終的に並べ替えが完了するまで上記のプロセスを繰り返します。

例 1、バブルソートの簡単な実装

コードは次のとおりです コードをコピー

#バブルソート
$arr = 配列(12,45,89,3,24,55,223,76,22,11,89,2,4,5,28,112,20,434,23,65,65,765,6,8,23,5,33,553 ,45,423,64,77,84,23);
$tmp;
for($i=0;$i for($j=0;$j If($arr[$j] > $arr[$j+1]){
$tmp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $tmp;
}
}
}

print_r($arr);

例 2

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632802.html技術記事 PHPのバブルソートは、データ交換を実装してから最大値と最小値を見つけて、最後に位置を交換してソートするというもので、これまで最もよく使われてきたソート方法です。 バブルソート (バブル...
)
コードは次のとおりです コードをコピー


//バブルソートメソッド function bubblesort(&$arr){
//交換値を保存する変数を定義 $temp =0;
for($i=0;$i                                                 for($j=0;$j                                                                  If($arr[$j]>$arr[$j+1]){
// 前の数値が後の数値より大きい場合、$ tmp = $ arr [$ j] を交換します。 $arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
                                                                                              }
}

$arr=array(100,99,200,5,-4,6,-7);
バブルソート($arr);
Print_r($arr); //配列は値によって渡されるため、渡すときに & 記号を追加することはアドレスを渡して外部変数を変更することになります

?>




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