国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 學院 > 邏輯算法 > 正文

四種排序算法PHP實現類

2020-03-22 19:53:39
字體:
來源:轉載
供稿:網友
  • 四種排序算法的PHP實現:
    1) 插入排序(Insertion Sort)的基本思想是:
    每次將一個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子文件中的適當位置,直到全部記錄插入完成為止。

    2) 選擇排序(Selection Sort)的基本思想是:
    每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排好序的子文件的最后,直到全部記錄排序完畢。

    3) 冒泡排序的基本思想是:
    兩兩比較待排序記錄的關鍵字,發現兩個記錄的次序相反時即進行交換,直到沒有反序的記錄為止。

    4) 快速排序實質上和冒泡排序一樣,都是屬于交換排序的一種應用。所以基本思想和上面的冒泡排序是一樣的。

    參考:http://www.lai18.com/content/433167.html

    下面是實現代碼:

    <?php/** *  * @author quanshuidingdang * @edit http://www.lai18.com */class Sort {  private $arr  = array();   private $sort  = 'insert';  private $marker = '_sort';  private $debug = TRUE;  /**   * 構造函數   * @edit http://www.lai18.com   * @param  array  例如:   $config = array (   'arr' => array(22,3,41,18) , //需要排序的數組值   'sort' => 'insert', //可能值: insert, select, bubble, quick   'debug' => TRUE //可能值: TRUE, FALSE   )   */  public function __construct($config = array()) {    if ( count($config) > 0) {      $this->_init($config);    }  }  /**   * 獲取排序結果   */  public function display() {    return $this->arr;  }  /**   * 初始化   *   * @param  array   * @return bool   */  private function _init($config = array()) {    //參數判斷    if ( !is_array($config) OR count($config) == 0) {      if ($this->debug === TRUE) {        $this->_log("sort_init_param_invaild");      }      return FALSE;    }    //初始化成員變量    foreach ($config as $key => $val) {      if ( isset($this->$key)) {        $this->$key = $val;      }    }    //調用相應的成員方法完成排序    $method = $this->sort . $this->marker;    if ( ! method_exists($this, $method)) {      if ($this->debug === TRUE) {        $this->_log("sort_method_invaild");      }      return FALSE;    }    if ( FALSE === ($this->arr = $this->$method($this->arr)))      return FALSE;    return TRUE;  }  /**   * 插入排序   *    * @param  array   * @return bool   */  private function insert_sort($arr) {    //參數判斷    if ( ! is_array($arr) OR count($arr) == 0) {      if ($this->debug === TRUE) {        $this->_log("sort_array(insert)_invaild");      }      return FALSE;    }    //具體實現    $count = count($arr);    for ($i = 1; $i < $count; $i++) {      $tmp = $arr[$i];      for($j = $i-1; $j >= 0; $j--) {         if($arr[$j] > $tmp) {          $arr[$j+1] = $arr[$j];          $arr[$j] = $tmp;        }      }    }    return $arr;  }  /**   * 選擇排序   *    * @param  array   * @return bool   */  private function select_sort($arr) {    //參數判斷    if ( ! is_array($arr) OR count($arr) == 0) {      if ($this->debug === TRUE) {        $this->_log("sort_array(select)_invaild");      }      return FALSE;    }    //具體實現    $count = count($arr);    for ($i = 0; $i < $count-1; $i++) {      $min = $i;      for ($j = $i+1; $j < $count; $j++) {        if ($arr[$min] > $arr[$j]) $min = $j;      }      if ($min != $i) {        $tmp = $arr[$min];        $arr[$min] = $arr[$i];        $arr[$i] = $tmp;      }    }    return $arr;  }  /**   * 冒泡排序   *    * @param  array   * @return bool   */  private function bubble_sort($arr) {    //參數判斷    if ( ! is_array($arr) OR count($arr) == 0) {      if ($this->debug === TRUE) {        $this->_log("sort_array(bubble)_invaild");      }      return FALSE;    }    //具體實現    $count = count($arr);    for ($i = 0; $i < $count; $i++) {      for ($j = $count-1; $j > $i; $j--) {        if ($arr[$j] < $arr[$j-1]) {          $tmp = $arr[$j];          $arr[$j] = $arr[$j-1];          $arr[$j-1] = $tmp;        }      }    }    return $arr;    }  /**   * 快速排序   *    * @param  array   * @return bool   */  private function quick_sort($arr) {    //具體實現    if (count($arr) <= 1) return $arr;     $key = $arr[0];    $left_arr = array();    $right_arr = array();    for ($i = 1; $i < count($arr); $i++){      if ($arr[$i] <= $key)        $left_arr[] = $arr[$i];      else        $right_arr[] = $arr[$i];    }    $left_arr = $this->quick_sort($left_arr);    $right_arr = $this->quick_sort($right_arr);      return array_merge($left_arr, array($key), $right_arr);  }  /**   * 日志記錄   */  private function _log($msg) {    $msg = 'date[' . date('Y-m-d H:i:s') . '] ' . $msg . '';    return @file_put_contents('sort_err.log', $msg, FILE_APPEND);  }}/*End of file sort.php*//*Location htdocs/sort.php */

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
    影音先锋在线中文字幕| 美女免费视频黄| 国产尤物视频| 国自产拍在线网站网址视频| 蜜桃av在线免费观看| 免费不卡中文字幕视频| 国产美女自拍视频| 国产丝袜视频在线播放| 国产激情视频在线| 天堂√中文在线| 天堂资源中文在线| 91涩漫在线观看c| 香蕉视频在线观看网站| 国产男女av| 国产二区视频在线观看| av免费在线观看网站| 成年网站免费入口在线观看| 国产精品入口麻豆免费看| 国产精美视频| 超碰国产在线观看| 2020中文字幕在线播放| 天天插天天操| 国产黄色免费| 福利资源在线久| 四虎一区二区三区| 国产精美视频| 国产亚洲精品自在线观看| 超碰97在线免费观看| 国产对白叫床清晰在线播放| 人人在线视频| 亚洲天堂影院在线观看| 国产午夜在线| 国产剧情av在线| 久热精品免费视频| av亚洲在线| 在线视频婷婷| av福利在线| 国产高清在线视频| 国产视频中文字幕| 国产一卡二卡3卡4卡四卡在线| а√最新版在线天堂| 亚洲天堂久久久| 在线天堂中文www视软件| 国产激情小视频在线| 好看的中文字幕在线播放| av小说在线| 日本国产在线| 免费在线黄色av| а天堂8中文最新版在线官网| 91极品在线| 国产精品欧美色图| 国产福利一区二区在线精品| 国产精品777一区二区| 国产人成网在线播放va免费| 国产免费视频在线| 国产精品久久久久久久牛牛| 国产天堂在线| 在线免费观看污| www.成人.com| 久久久久久久久亚洲精品| 久草在线视频网| 午夜av在线免费观看| 国产精品久久久久久精| 在线视频观看你懂的| 四虎www视频| 国产九色在线| 亚洲永久免费网站| 国产在线激情视频| 2019中文字幕视频| 超碰在线影院| 国产高清免费视频| 男女午夜视频在线观看| 国产一区二区三区美女秒播| 精品成人一区二区三区免费视频| 四虎精品视频| 午夜视频在线免费| 一级二级三级在线观看| 国产免费福利网站| 亚洲欧美中文字幕在线观看| 五月天丁香在线| 女同一区二区免费aⅴ| 最近免费中文字幕大全免费第三页| 91欧美在线视频| 五月伊人六月| 免费国产视频| av免费在线一区二区三区| 国产午夜三区视频在线| 欧美日韩不卡中文字幕在线| 精品日韩av| 国产卡二和卡三的视频| 在线国产1区| 国产精品入口麻豆电影| 国产精选在线观看| 免费在线黄色av| eeuss影院www在线播放| 在线免费看av| 国产91久久久久| 国产经典av| 国产黄色在线播放| 国产三区四区在线观看| 九九热在线播放| 欧美日韩**字幕一区| 亚洲精品少妇久久久久久| 国产欧美日韩专区| 国产精品久久久久一区二区国产 | 丁香视频免费观看| 日本韩国精品一区二区| gogo在线观看| www.狠狠操.com| 欧美精品一区二区三区免费| av中文网站| 亚洲字幕成人中文在线观看| 99在线视频观看| 亚洲天堂久久久| 性网站在线看| 亚洲综合在线免费| 国产精品国精产品一二| 天天操人人爽| 国产视频三级在线观看播放| 中文字幕国产欧美| 国产激情网址| av高清资源| www.久草.com| 日本中文字幕在线看| 2018狠狠干| 激情综合丁香| 992tv在线观看在线播放| sese在线视频| 国产人成精品| 麻豆电影传媒二区| 国产在线小视频| 国产精品二线| 四虎中文字幕| 国产免费专区| 99在线欧洲视频| 国产免费黄网站| 国产xxx在线| 国产乱码在线| jizz国产| 国产亚av手机在线观看| 亚洲人av在线| 国产偷窥老熟盗摄视频| 亚洲高清在线免费| 国产精品四虎| 好吊日视频在线观看| 中文字幕av中文字幕| 欧美卡一卡二| www亚洲天堂| 96久久久久久| 午夜国产视频| 久久久久久久久免费视频| 综合激情丁香| 黄色免费av| jizz在线视频| www.国产精品.com| 伊人网在线视频| 国产精品jvid在线观看| 国产农村av| 久久精品国产亚洲777| 尤物视频在线观看视频| 国产欧美日韩精品综合| 中文字幕日本在线观看| 国产精品一二三区视频| 俺来俺也去www色在线观看| 亚洲一本大道| av一级在线| 最近中文字幕mv免费高清在线| 四虎一区二区三区| 亚洲精品天堂在线| www免费在线观看视频| 99久久99热久久精品免费看| 精品一区二区三区在线成人| 国产区在线视频| 国产亚洲精品自在线观看| 国产精品一区二区婷婷| 人人在线视频| 狠狠操天天操夜夜操| 最新黄网在线观看| 国产青草视频在线观看视频| 国产日韩精品在线看| 精品剧情v国产在线观看| 精品国产一区二区三区不卡在线| 在线视频xx| 超碰在线观看免费版| 91av资源在线| 91精品专区| 亚洲精品白浆| 国产精品一区二区婷婷| 国产不卡视频| 老师我好爽再深一点的视频| 人人干在线视频| 久蕉依人在线视频| 国产三级自拍| eeuss在线观看| 国产精品乱码一区二区三区视频 | 中文字幕一区免费| 精品国产高清a毛片无毒不卡| 午夜影院在线免费观看| 99热在线免费观看| 在线视频婷婷|