zoukankan      html  css  js  c++  java
  • php三种基础算法:冒泡,插入和快速排序法

    $array = array(2,3,5,6,9,8,1);
    
    //冒泡排序思想,前后元素比较
    function sort_bulldle($array){
        $num = count($array);
        for($i=0; $i<$num; $i++){
            $tmp = $array[$i];
            for ($j=$i-1; $j>=0; $j--) {
                if ($tmp < $array[$j]) {
                    $arr[$j+1] = $arr[$j];
                    $arr[$j] = $tmp;
                } else {
                    break;
                }
            }
        }
        return $array;
    }
    
    //插入排序思想,就是从第二个元素开始,到最后一个元素都是这个需要排序的元素
    function sort_bulldle($arr){
        for($i=1, $len=count($arr); $i<$len; $i++) {
            $tmp = $arr[$i];
            for($j=$i-1;$j>=0;$j--) {
                if($tmp < $arr[$j]) {
                    $arr[$j+1] = $arr[$j];
                    $arr[$j] = $tmp;
                } else {
                    break;
                }
            }
        }
        return $arr;
    }
    
    //快速排序,找一个基准点把数组分成两组比较
    function sort_bulldle($array){
            $num = count($array);
            if($num<=1) {
                    return $array;
            }
            $base_num = $array[0];
            $left_array = array();
            $right_array = array();
            for($i=1; $i<$num; $i++) {
                    if ($base_num > $array[$i]) {
                            $left_array[] = $array[$i];
                    }else
                    {
                            $right_array[] = $array[$i];
                    }
            }
            $left_array = sort_bulldle($left_array);
            $right_array = sort_bulldle($right_array);
            return array_merge($left_array, array($base_num), $right_array);
    }
  • 相关阅读:
    利用performSelectorInBackground和performSelectorOnMainThread实现多线程刷新UI
    iOS之NSCocoaErrorDomain Code=3840
    iOS之原生地图与高德地图
    iOS之Storyboard References
    iOS之内购
    iOS之上线被拒
    iOS之可拖拽重排的CollectionView
    iOS之内购
    ios专题
    ios专题
  • 原文地址:https://www.cnblogs.com/gide/p/5320449.html
Copyright © 2011-2022 走看看