zoukankan      html  css  js  c++  java
  • php基础排序算法

    1、冒泡排序

     1 $arr = array(12,34,57,42,165.4,73,51);
     2 
     3 function bubbling_sort($array)
     4 {
     5     $cou = count($array);
     6     if(!is_array($array)){
     7         die;
     8     }
     9     for($i=0;$i<$cou-1;$i++){
    10         for($j=$i+1;$j<$cou;$j++){
    11             if($array[$i]>$array[$j]){
    12                 $tmp = $array[$j];
    13                 $array[$j] = $array[$i];
    14                 $array[$i] = $tmp;
    15             }
    16         }
    17     }
    18     return $array;
    19 }
    20 
    21 $ar = bubbling_sort($arr);
    22 var_dump($ar);die;

    2、快速排序

     1 function quick_sork($array)
     2 {
     3     if(count($array) <= 1) return $array;
     4     $key = $array[0];
     5     $left_arr = array();
     6     $right_arr = array();
     7     for($i=0;$i<count($array);$i++){
     8         if($array[$i]<$key){
     9             $left_arr[] = $array[$i];
    10         }elseif($array[$i]>$key){
    11             $right_arr[] = $array[$i];
    12         }
    13     }
    14     $left_arr = quick_sork($left_arr);
    15     $right_arr = quick_sork($right_arr);
    16     return array_merge($left_arr,array($key),$right_arr);
    17 }

    3、选择排序

     1 function select_sort($array){
     2     $temp = 0;
     3     for($i = 0;$i < count($array) - 1;$i++){
     4         $minVal = $array[$i]; //假设$i就是最小值
     5         $minValIndex = $i;
     6         for($j = $i+1;$j < count($array);$j++){
     7             if($minVal > $array[$j]){ //从小到大排列
     8                 $minVal = $array[$j]; //找最小值
     9                 $minValIndex = $j;
    10             }
    11         }
    12         $temp = $array[$i];
    13         $array[$i] = $array[$minValIndex];
    14         $array[$minValIndex] = $temp;
    15     }
    16     return $array;
    17 }
  • 相关阅读:
    pip 或 pip3 升级操作
    virtualenv和virtualenvwrapper 的安装和使用
    打包 Framework 时使用 CocoaPods 引入第三方库的方法
    数据库-代码建表
    Oracle-数据库
    JAVA-网络编程
    JAVA-枚举
    JAVA-多线程
    0927-练习
    JAVA-流
  • 原文地址:https://www.cnblogs.com/wawjandcsws/p/11076351.html
Copyright © 2011-2022 走看看