この記事では、主に配列ソートを実現するための PHP 挿入ソート方法を紹介します。挿入ソート方法の原理と具体的な実装テクニックを例とともに説明します。必要な方はこの記事を参照してください。
# この例では、PHP 挿入ソートを使用して配列ソートを実装する方法を説明します。 具体的な分析は次のとおりです: 挿入ソート法の基本的な考え方: 事例も使用して説明しますが、引き続き $arr = array(2,6,3,9) を使用します。 )、大きいものから小さいものへ並べ替えます。 実装原則: 順序付けされた配列 $arr = array(2) があると仮定します (実際には作成されていません)。$arr[1]=6 を使用して、6>2 の場合、$arr によってそれと比較します。 [0] は $arr[1] の位置に戻され、$arr[0] の位置に 6 が挿入されます。次に、$arr[2]=3 と $arr[1]=2, 3>2 が比較され、$arr[1]=2 は引き続き $arr[2] の位置、つまり元の $arr[3] に移動します。 ]=3 $arr[1] の位置に挿入し、引き続き終了位置に 9 を挿入します。最終結果は (9,6,3,2) です。並べ替えは、count($arr)-1 の大きなループの後にも実行できます。 コード パターン分析: 最初の大きなループ: $[1] と $[0] の比率2 番目の大きなループ: $[2] と $[1 ] の比率、$[1] と $[0] の比率;
3 番目の大きなサイクル: $[3] と $[2] の比率、$[2] と $[1] の比率、$[1] と $[0 ] Ratio;
<?php function insertSort(&$arr){ for($i=1;$i<count($arr);$i++){ //$insertVal是准备插入的数 for($j=$i;$j>0;$j--){ if($arr[$j]>$arr[$j-1]){ $insertVal = $arr[$j]; $arr[$j] = $arr[$j-1]; $arr[$j-1] = $insertVal; } } } } $myarr = array(2,6,3,9); insertSort($myarr); echo "<pre class="brush:php;toolbar:false">"; print_r($myarr); ?>code:First big Loop:$i=1 Array (2 ,6,3,9)
$j=1 6 と 2 の比率を実行します: $arr[1]=2;$arr[0]=6, get (6,2 ,3,9)
$j=2 3 と 2 の実行比率: $arr[2]=2 になります, $arr[1]=3, get (6,3,2,9)
$j--,$j=1 $arr[1] と $arr[0] を実行 比率: 条件が成立しません
$j=3 9 と 2 の比率を実行します。 $arr[ になります。 3]=2,$arr[2]=9, get (6,3,9,2)
$j--,$j=2 9 と 3 の比率を実行すると $ arr[2]= になります3,$arr[1]=9, get (6,9,3,2)
$j--,$j=1 9と6の比率を実行すると、$arr[1] =5,$になりますarr[0]=9, get (9,6,3,2)
概要: 上記がこの記事の全内容です。皆様のヘルプの学習に役立つことを願っています。
関連する推奨事項: ##php は検証フォームを使用してフィールドが空かどうかを検出しますphpで各段落にスペースを追加する方法以上がPHPにおける挿入ソート法の原理と応用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。