ホームページ  >  記事  >  バックエンド開発  >  PHP配列ソートのいくつかのプログラム例_PHPチュートリアル

PHP配列ソートのいくつかのプログラム例_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 16:56:31764ブラウズ

A. 内部ソート (ソートのためにメモリに直接ロード): 交換ソート (バブルおよびクイックメソッド)、選択ソート、および挿入ソートを含む B. 外部ソート (データ量が大きいため、ソートには外部ストレージが必要です): マージ ソートと直接マージ ソートを含む

[選択ソート: 2 番目から n 番目の数値がそれぞれ最初の数値と比較され、3 番目の数値が交換されます。から n 番目の番号はそれぞれ 2 番目の番号と比較され、配置が完了するまで交換されます]

コードは次のとおりです コードをコピー

関数 selectSort($arr,$style)
{
$temp=0;
for($i=0;$i {
for($j=$i+1;$j {
If($style=='bts') $op=$arr[$i]<$arr[$j];
else if($style=='stb') $op=$arr[$i]>$arr[$j];
もし($op)
                                                                                                                                                                                                                                                                                                                                       }
}
foreach ($arr as $key => $value)
{
$value をエコーし​​ます。','; }
}
$arr1=array(21.5,33,90,7,-4,5,55,11);
selectSort($arr1,'stb');



【デフォルトでは、アドレスではなく値が渡されます。 $arrの前に&を付けると$arr1と同じアドレスを指し、関数外の$arr1も配置されます】

http://www.bkjia.com/PHPjc/631612.html
コードは次のとおりです コードをコピー

関数 maoPao($arr,$style) {
$temp=0;
for($i=0;$i {
for($j=0;$j {
If($style=='bts') $op=$arr[$j] else if($style=='stb') $op=$arr[$j]>$arr[$j+1];
もし($op)
                                                                                                                                                                                                                                                                                                                                      }
}
foreach ($arr as $key => $value)
{
$value をエコーし​​ます。','; }
}
$arr1=array(101,101,-9,-8,0,76,1,57,43,90,23,-56);
maoPao($arr1,'stb');//小さいものから大きいものまで





【挿入ソート:2番目のものは最初のものと比較されて交換され、3番目のものは最初の2つと比較されて交換されます。 。 。 。 n番目と最初のn-1を比較して交換してください]

コードは次のとおりです コードをコピー

関数 insertSort($arr,$style)
{
$temp=0;
for($i=1;$i {
for($j=0;$j {
If($style=='bts') $op=$arr[$j] else if($style=='stb') $op=$arr[$j]>$arr[$i];
もし($op)
                                                                                                                                                                                                                                                                                                                                   }
}
foreach ($arr as $key => $value)
{
$value をエコーし​​ます。','; }
}
$arr1=array(4,7,0,-7,1,14,5);
insertSort($arr1,'bts');





www.bkjia.com

tru​​e

技術記事 A. 内部ソート (ソートのためにメモリに直接ロード): 交換ソート (バブルおよび高速メソッド)、選択ソート、挿入ソートを含む B. 外部ソート (大量のデータのため、外部ソートが必要です...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。