この記事では、PHP の選択ソートメソッドを使用して配列ソートを実装する方法を分析します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
選択ソート方法の基本的な考え方: たとえば、大きいものから小さいものへとソートされた配列 $arr = array(2,6,3,9) があるとします。
最初の大きなループ: まず $arr[0] が最大値であると仮定し、それを $arr[1] ~ $arr[3] とそれぞれ比較し、それが大きい場合は交換します。は次のとおりです (2 ,6,3,9)---2 と 6 の比--->(6,2,3,9)---6 と 3 の比--->( 6,2,3,9)- --6 と 9 の比率 --->(9,2,3,6)。ここの添字も変更する必要があることに注意してください。
2 番目の大きなループ: $arr[1] が最大であると仮定し ($arr[0] は除外)、それを $arr[2]~$arr[3] とそれぞれ比較します。プロセスは次のようになります (9,2, 3,6 )----2 と 3 の比率 --->(9,3,2,6)---3 と 6 の比率 --->(9,6,2,3)。
3 番目の大きなループ: $arr[2] が最大であると仮定し、$arr[3] と比較します。プロセスは次のようになります (9,6,2,3)---2 と 3 の比率--- >(9, 6,3,2)
同様にN-1大サイクル後もアレンジ可能です
PHPコードは次のとおりです。これも関数でカプセル化されています
コード分析:
最初の大きなサイクル:
$i=0 配列(2,6,3,9)
$j=1、2と6の比率を実行すると、$arr[0]=6、$arr[1]=2、$max=6、つまり(6,2,3,9)になります
$j=2、3と6の比率を実行: 実行しない
$j=3、9と6の比率を実行すると、$arr[0]=9、$arr[3]=6、$max=9となり、(9,2,3,6)になります
2 番目の大きなサイクル:
$i=1,$max=$arr[1]=2, 配列 (9,2,3,6)
$j=2、3と2の比率を実行すると、$arr[1]=3、$arr[2]=2、$max=3となり、(9,3,2,6)になります
$j=3、6と3の比率を実行すると、$arr[1]=6、$arr[3]=3、$max=6となり、(9,6,2,3)になります
3 番目のサイクル:
$i=2,$max=$arr[2]=2, 配列 (9,6,2,3)
$j=3、3と2の比率を実行すると、$max[2]=3、$arr[3]=2、$max=3となり、(9,6,3,2)になります
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。