程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP實現常見排序

PHP實現常見排序

編輯:關於PHP編程
    //插入排序(一維數組)
    function insert_sort($arr){
        $count = count($arr);
        for($i=1; $i<$count; $i++){
            $tmp = $arr[$i];
            $j = $i - 1;
            while($arr[$j] > $tmp){
                $arr[$j+1] = $arr[$j];
                $arr[$j] = $tmp;
                $j--;
            }
        }
        return $arr;
    }
    //選擇排序(一維數組)
    function select_sort($arr){
        $count = count($arr);
        for($i=0; $i<$count; $i++){
            $k = $i;
            for($j=$i+1; $j<$count; $j++){
                if ($arr[$k] > $arr[$j])
                $k = $j;
                if ($k != $i){
                    $tmp = $arr[$i];
                    $arr[$i] = $arr[$k];
                    $arr[$k] = $tmp;
                }
            }
        }
        return $arr;
    }
     
    //冒泡排序(一維數組)
    function bubble_sort($array){
        $count = count($array);
        if ($count <= 0) return false;
        for($i=0; $i<$count; $i++){
            for($j=$count-1; $j>$i; $j--){
                if ($array[$j] < $array[$j-1]){
                    $tmp = $array[$j];
                    $array[$j] = $array[$j-1];
                    $array[$j-1] = $tmp;
                }
            }
        }
        return $array;
    }
     
    //快速排序(一維數組)
    function quick_sort($array){
        if (count($array) <= 1) return $array;
        $key = $array[0];
        $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);
    }

     


     

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved