この記事の例では、PHP の挿入ソート方法を使用して配列ソートを実装する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
挿入ソート方法の基本的な考え方: 同じ例を使用して、引き続き $arr = array(2,6,3,9) を使用して、大きいものから小さいものへソートします。
実装原則: (実際に作成せずに) 順序付けされた配列 $arr = array(2) があると仮定します。$arr[1]=6 を使用してそれと比較し、6>2 の場合は $arr[0] を使用します。は位置 $arr[1] に移動され、6 は位置 $arr[0] に挿入されます。次に、$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];
PHP コードは使いやすさを考慮して関数のカプセル化を使用しています
リーリー
最初の大きなサイクル:
$i=1 配列(2,6,3,9)
$j=1 6 と 2 の比率を実行します: $arr[1]=2;$arr[0]=6, get (6,2,3,9)
2 番目の大きなサイクル:
$i=2 配列(6,2,3,9)
$j=2 は 3 と 2 の比率を実行します。$arr[2]=2、$arr[1]=3 となり、(6,3,2,9) が得られます
$j--,$j=1 $arr[1] と $arr[0] の比率を実行: 条件が満たされません
3 番目のサイクル:
$i=3 配列(6,3,2,9)
$j=3 は 9 と 2 の比率を実行します。$arr[3]=2、$arr[2]=9 となり、(6,3,9,2) が得られます
$j--,$j=2 9と3の比率を実行すると、$arr[2]=3, $arr[1]=9となり、(6,9,3,2)が得られます
$j--,$j=1 は 9 と 6 の比率を実行します。$arr[1]=5、$arr[0]=9 となり、(9,6,3,2) が得られます
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/959116.html