-
- function maoPao($arr,$style)//デフォルトでは、アドレスではなく値が渡されます。 $arr の前に & を付けると $arr1 と同じアドレスを指し、関数外の $arr1 も配置されます
- {
- $temp=0;
- for($i=0; $i{
- for($j=0;$j{
- if($style== 'bts') $op=$arr[$j]<$arr[$j+1];
- else if($style=='stb') $op=$arr[$j]>$arr[ $j+1];
- if($op)
- $temp=$arr[$j];
- $arr[$j]=$arr[$j+1]; ]=$temp;
- $flag=true;
- }
- }
- if($flag==false)
- break;// 水平ループが終了すると、flag==false;縦方向のループ サイズを比較する際、if条件を満たしていない、つまり小さい順から大きい順に並べられているため、横方向にループする必要はありません
- }
- }
- foreach ($arr as $key => $value )
- {
- echo $value.',';
- }
- }
- $arr1=array(101,101,-9,-8,0,76,1,57,43,90,23,-56); ($arr1,'stb');//small to big
- ?>
-
-
- コードをコピー
-
-
バブルソートの例については、次の記事も参照できます。
phpバブルソート交換ソート方法
PHPバブルソートの別の例
バブルソートアルゴリズムを実装するためのphpコード
PHPバブルソートアルゴリズムの例
PHPのバブルソートとクイックソートの例
2. 並べ替えを選択します。
ソートが完了するまで、2 番目から n 番目の数値は最初の数値とそれぞれ比較されて交換され、3 番目から n 番目の数値はそれぞれ 2 番目の数値と比較されて交換されます。
/** * *- *
- */
- function 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];
- if($op)
- $temp=$arr[$i];
- $arr[$j]=$temp ;
- $flag=true;
- }
- }
- if($flag==false)
- {
- break;
- }
- }
- foreach ($arr as $key => $value)
- {
- echo $value. ',';
- }
- }
- $arr1=array(21.5,33,90,7,-4,5,55,11);
- < ;p>関数 selectSort($arr,$style)
- {
- $temp=0;
- $flag=false;
- 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];
- if($op)
- $temp=$arr[$ i];
- $arr[$i]=$arr[$j];
- $flag=true;
- if($flag==false)
- break;
- }
- }
- foreach ($arr as $key => $value)
- {
- echo $value.',';
- }
- }
- $arr1=array(21.5,33,90,7, -4,5,55,11);
- selectSort($arr1,'stb');
- echo "
"; - ?>
-
-
-
- コードをコピーします
-
-
-
-
-
-
-
-
|