PHPのバブルソート、選択ソート、挿入ソート
??//バブルソート<小から大>
??function bubbleSort(&$arr){
????
????$temp= 0;
????
????//i 番目に大きい数値を加算します
????for($i=0;$i
??????for($j=0;$j
??????//前の数値が後の数値より大きいため、交換する必要があることを示します
???????if($arr[$j ] > $arr[$j+1]){
?????????$temp=$arr[$j];
?????????$arr [ $j]=$arr[$j+1];
?????????$arr[$j+1]=$temp;
????????? }
??????}
??????
????
????}
??}
??
? //並べ替えを選択
??function selectSort(&$arr){
????
????$temp=0;
?
????for($i=0;$i
??????//$i が最小の数であると仮定します
??????$minValue=$arr[$i];
??????//最小の数値であると思われる添え字を記録します
?????? $minIndex=$i;
??????
??????for($j=$i+1;$j
?????????//私たちが考える最小値は最小値ではありません
??????if($minValue>$arr[$ j]) {
?????????
?????????$minValue=$arr[$j];
???$minIndex =$j;
?????????
?????????}
??????}
??? >??????//最終交換
??????$temp=$arr[$i];
??????$arr[$i] =$arr[$ minIndex];
??????$arr[$minIndex]=$temp;
????}
??}
??
?//挿入ソートメソッド<小さいものから大きいものへ>
??function insertSort(&$arr){
????
???for($i=1;$i< count($arr); $i++){
??????
??????//$insertVal は挿入される番号です
??????$insertValue=$ arr[$i] ;
??????//最初に $insertIndex と比較する準備をします
??????$insertIndex=$i-1;
??????
?? ????//この条件が満たされる場合、適切な場所が見つからなかったことを意味します
??????while($insertIndex>=0 && $insertValue < $arr[$insertIndex ]) {
??????
?????????//同時に数値を元に戻す
??????$arr[$insertIndex+1]= $arr [$insertIndex];
??????
??????$insertIndex--;
??????}
??? ??????//挿入 (この時点で $insertValue の適切な位置を見つけます)
??????$arr[$insertIndex+1]=$insertValue;
?
??}
??$arr = Array(0,-1,5);
??//バブルソートメソッド
??//bubbleSort($arr);
? ?//選択ソートメソッド
??//selectSort($arr);
??//挿入ソートメソッド
??insertSort($arr);
??print_r($arr ) ;
??
??//速度
??//挿入ソート>>バブルソート
??
?>