php排序方法(php 實現快速排序,選擇排序,插入排序,冒泡排序算飯)

來源:互聯網
上載者:User

<?php
     function quick_sort($array){
     if (count($array) <= 1) return $array;
     $key = $array[0];
     echo $key;
     $left_arr = array();
     $right_arr = array();
     for ($i=1; $i<count($array); $i++){
        if ($array[$i] <= $key) $left_arr[] = $array[$i];
        else $right_arr[] = $array[$i];
     }
     $left_arr = quick_sort($left_arr);
     $right_arr = quick_sort($right_arr);
     return array_merge($left_arr, array($key), $right_arr);
      }
      function insert_sort($array){
      if (count($array) <= 1) return $array; for ($i=1;$i<count($array);$i++) {
         $temp = $array[$i]; $j = $i-1;
         while ($j>=0 && $array[$j]>$temp) { $array[$j+1] = $array[$j]; $array[$j] = $temp; $j--;
         }
      }
      return $array;
      }
      function select_sort($array){
      $count = count($array);
      if ($count <= 1) return $array;
      $temp = array();
      for ($i=0;$i<$count;$i++) {
         $select = $i;
         for ($j=$i+1;$j<$count;$j++) {
          if ($array[$j]<$array[$select]) {
           $select = $j;
          }
         }
         if ($select != $i) {
          $temp = $array[$i];
          $array[$i] = $array[$select];
          $array[$select] = $temp;
         }
      }
      return $array;
      }
      function pop_sort($array){
      $count = count($array);
      if ($count <= 1) return $array;
      for ($i=0;$i<$count;$i++) {
         for ($j=$count-1;$j>$i;$j--) {
          if ($array[$j-1]>$array[$j]) {
           $temp = $array[$j];
           $array[$j] = $array[$j-1];
           $array[$j-1] = $temp;
          }
         }
      }
      return $array;
      }
      $arr = array(33,44,22,123,76,45);
      print_r(pop_sort($arr));
      exit;
?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.