熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP實現常見排序

2013-11-15 12:34:06  來源: PHP編程 
//插入排序(一維數組)
function insert_sort($arr){
    $count = count($arr);
    for($i=; $i<$count; $i++){
        $tmp = $arr[$i];
        $j = $i ;
        while($arr[$j] > $tmp){
            $arr[$j+] = $arr[$j];
            $arr[$j] = $tmp;
            $j;
        }
    }
    return $arr;
}
//選擇排序(一維數組)
function select_sort($arr){
    $count = count($arr);
    for($i=; $i<$count; $i++){
        $k = $i;
        for($j=$i+; $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 <= ) return false;
    for($i=; $i<$count; $i++){
        for($j=$count; $j>$i; $j){
            if ($array[$j] < $array[$j]){
                $tmp = $array[$j];
                $array[$j] = $array[$j];
                $array[$j] = $tmp;
            }
        }
    }
    return $array;
}
 
//快速排序(一維數組)
function quick_sort($array){
    if (count($array) <= ) return $array;
    $key = $array[];
    $left_arr = array();
    $right_arr = array();
    for ($i=; $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);
}

 

  
 


From:http://tw.wingwit.com/Article/program/PHP/201311/21194.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.