ホームページ  >  記事  >  バックエンド開発  >  phpはクイックソートを実装します

phpはクイックソートを実装します

小云云
小云云オリジナル
2018-03-29 09:11:271970ブラウズ

選択ソート 毎回ソート対象のデータ要素から最小 (または最大) の要素を選択し、ソート対象のデータ要素がすべて配置されるまでシーケンスの先頭に保存します。 選択ソートは不安定なソート方法です (たとえば、シーケンス [5, 5, 3] は最初の [5] と [3] を初めて交換し、最初の 5 が 2 番目の 5 の後ろに移動します)。

<?php
function SelectSort($arr)
 {
     $count=count($arr);
  for ($i=0; $i <$count ; $i++) { 
      //默认$i是最小的
     $min=$i;
    for ($j=$i; $j <$count; $j++) { 
        if ($arr[$min] > $arr[$j]) {
            //如果最小值大于下一个数,就立刻变值
            $min=$j;
        }
    }
    //把最小的下标换成第一个值
    if ($min!=$i) {
        list($arr[$min],$arr[$i])=[$arr[$i],$arr[$min]];
    }
  }
  return $arr;
 }
 //假设需要排序的数组
$arr=array(5,9,8,2,4,6,7,1,25,13,18,22);
$new_arr=SelectSort($arr);
print_r($new_arr);
 ?>

関連する推奨事項:

JavaScriptのクイックソートの詳細な説明

PHPのバブル、選択、挿入、およびクイックソートメソッドの詳細な説明

PHPでのクイックソートの実装方法の例

以上がphpはクイックソートを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。