配列ソートを実装するためのPHP選択ソート方法の例分析_PHPチュートリアル
Jul 13, 2016 am 10:04 AM配列ソートを実装するためのPHP選択ソートメソッドの分析例
この記事では主に、配列ソートを実装するためのPHP選択ソートメソッドの方法を紹介します。サンプルでは、選択ソートの原理と具体的な実装手順を分析します。友達が必要です
この記事では、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コードは次のとおりです。これも関数でカプセル化されています
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php 関数 selectSort(&$arr){ for($i=0;$i $max = $arr[$i]; for($j=$i+1;$j if($max<$arr[$j]){ $max = $arr[$j]; $arr[$j] = $arr[$i]; $arr[$i] = $max; } } } $arr を返す; } $myarr = 配列(2,6,3,9); selectSort($myarr); エコー「<pre>」; print_r($myarr); ?> |
コード分析:
最初の大きなサイクル:
$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 プログラミング設計に役立つことを願っています。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
