ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルで配列をソートするさまざまな方法

php_PHP チュートリアルで配列をソートするさまざまな方法

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

プログラミングを学ぶと、ソート方法にはバブルソート、クイックソート、選択ソートなどと、同時ソート方法があることがわかります。 内部と外部の 2 つのカテゴリに分けられます。

配列を並べ替える方法
2 つのカテゴリに分かれています:
1. 内部(メモリ)ソート
2. 外部ソート (データ量が多すぎてメモリに保存できないため、外部ソートが必要です
ストレージ)


----------------
並べ替えはプログラマーの基本スキルです
1: 内部ソート
(1) 可換ソート
1.バブル法

配列のデフォルトの転送は、アドレス転送ではなく値転送です
オブジェクトのタイプについては後で説明します。オブジェクトのデフォルトの転送はアドレス転送です

//最適化、将来の使用を容易にするためにバブルソートメソッドを関数にカプセル化します

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

関数 bubbleSort(&$myarr){
$temp=0;//中間変数を定義します
// 外側のループ
for($i=0;$i for($j=0;$j $j++){
if($myarr[$j]>$myarr[$j
+1]){
$temp=$myarr[$j];
$myarr[$j]=
$myarr[$j+1];
$myarr[$j+1]=
$temp;
}

}
}
}

$arry=配列(2,6,-4,7,9,0);
バブルソート($arry);
print_r($arry);

2. クイックソート方法 (魔法のように高速、再帰を伴う)

3. 選択の並べ替え方法

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

関数 selectSort(&$myarr){
$temp=0;
for($i=0;$i // $i が最小の数であると仮定します
$minval=$myarr[$i];
//私が思う最小の数字の添字を記録します
$minIndex=$i;

for($j=$i+1;$j +){
//私たちが考える最小値が最小値ではないことを説明します
if($minval>$myarr[$j]){

$minval=$myarr[$j];
$minIndex=$j;

}

}
//最終交換
$temp=$myarr[$i];
$myarr[$i]=$myarr[$minIndex];
$myarr[$minIndex]=$temp;
}

}

4.挿入ソート方法

クエリ速度: バブルソート方式<選択ソート方式<挿入ソート方式

私の個人的なお気に入りは、バブル ソート方法と呼ばれる交換ソートです。この方法は使いやすいですが、大量のデータのソートには適していません。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631630.html技術記事プログラミングを学ぶと、ソート方法にはバブル ソート、クイック ソート、選択ソートなどが含まれることがわかります。同時に、ソート方法は内部と外部の 2 つのカテゴリに分類されます。 配列のソート方法は2つに分かれます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。