原則: 一連のデータについて、隣接するデータのサイズを比較し、値の小さいデータを前に、値の大きいデータを後ろに置きます。 (以下はすべて小さい順、つまり大きい順に並べています)
例:$arr = array(6, 3, 8, 2, 9, 1);
$arrには6つのデータがあり、それらをペアで比較します。サイズは次のとおりです。比較ラウンドの数と各ラウンドの比較数に注意してください
ソートの最初のラウンド:
最初の比較 6 と 3 の比較結果: 3 6 8 2 9 1
2回目の比較6と3の比較結果: 3 6 8 2 9 1
8と2の3回目の比較結果: 3 6 2 8 9 1
8と9の4回目の比較結果: 3 6 2 8 9 1
9と1を比較 比較結果: 3 6 2 8 1 9
1回目の比較のまとめ: 1. 5回の並べ替えと比較の1回目では、小さいものから大きいものへの順序は得られませんでした 2.各比較は過去に遡る大きな数値に基づいているため、比較が完了すると、最大の数値が最後にランク付けされると判断できます (9 はすでに泡立っているため、次の比較ラウンドでは比較する必要はありません) )
2回目の並べ替え:
1回目の比較 3と6の比較結果: 3 6 2 8 1 9
2回目の6と2の比較結果: 3 2 6 8 1 9
3回目の比較result of 6 and 8: 3 2 6 8 1 9
8 と 1 の 4 回目の比較 比較結果: 3 2 6 1 8 9
2 回目の比較のまとめ: 1. 2 回目の並べ替えと比較4回、小さい順から大きい順が得られなかった 2. 8が泡立ち、次のラウンドでは比較する必要がない 8
3回目の並べ替え:
3と2の最初の比較結果: 2 3 6 1 8 9
2 回目の 3 と 6 の比較結果: 2 3 6 1 8 9
3 回目の 6 と 1 の比較結果: 2 3 1 6 8 9
3 回目の比較の要約: 1. 3 回目3 回の並べ替えと比較で、小さい順から大きい順は得られませんでした。 2. 6 が泡立ち、次の比較 6 では使用されませんでした。
4 回目の並べ替え:
最初の比較 2 と。 3 つの比較結果: 2 3 1 6 8 9
2 番目の比較 3 と 1 の比較結果: 2 1 3 6 8 9
4 回目の比較の要約: 1. 4 回目の並べ替えと 2 回の比較、いいえ小さいものから大きいものへの順序が得られました 2. 3 が出現し、次のラウンドでは 3 を比較する必要はありません
5 回目の並べ替え:
1 つの比較 2 と 1 の比較結果: 1 2 3 6 8 9
5回目の比較のまとめ: 1. 5回目の並べ替えと1回の比較では、小から大への並べ替えは得られませんでした 2. 2が泡立ちました。1は1つしか残っていないため、必要はありませんこの時点で、5 回のソーティングを経て、ソート全体が完了しました。
上記の 5 ラウンドのソートといくつかの比較を通じて、次の結論を推測する理由があります:
長さ N の配列の場合、N-1 ラウンドをソートする必要があり、各 i ラウンドは N-i と比較する必要があります。回。これには二重ループ ステートメントを使用できます。外側のループはループ ラウンドの数を制御し、内側のループは各ラウンドの比較の数を制御します。
<?php function order($arr){ $count = count($arr); $temp = 0; //外层控制排序轮次 for($i=0; $i<$count-1; $i++){ //内层控制每轮比较次数 for($j=0; $j< $count-1-$i; $j++){ if($arr[$j] > $arr[$j+1]){ $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; } } } return $arr; } $arr= array(6,3,8,2,9,1); $res = order($arr); var_dump($res);
関連する推奨事項:
PHP バブル ソートを実装する複数のソリューションphp バブル ソート配列の小さいものから大きいものへの並べ替え方法php 配列バブル ソート アルゴリズムのサンプル コード以上がPHPバブルソート例の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPパフォーマンスボトルネックは、次の手順で解決できます。1)パフォーマンス分析にXdebugまたはBlackfireを使用して問題を見つける。 2)データベースクエリを最適化し、APCUなどのキャッシュを使用します。 3)array_filterなどの効率的な関数を使用して、配列操作を最適化します。 4)bytecodeキャッシュ用のopcacheを構成します。 5)HTTP要求の削減や写真の最適化など、フロントエンドを最適化します。 6)パフォーマンスを継続的に監視および最適化します。これらの方法により、PHPアプリケーションのパフォーマンスを大幅に改善できます。

依存関係(di)inphpisadesignpatternativats anducesclassodulencies、拡張測定性、テスト可能性、および維持可能性。

cachingemprovesppperformancebystring of computationsorquickretrieval、還元装置の削減は、reducingerloadendenhancersponseTimes.efcectivestrategiesInclude:1)opcodecaching、compiledphpscriptsinmemorytoskipcompilation;


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

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

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

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

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
