php氣泡排序

y0umer發表於2013-06-06
  $test_array = array (12, 5, 10, 9, 100, - 10 );
   
    //$sort_array = sortasc ( $test_array );
    $sort_array = sortdesc ( $test_array );
   
    print_r ( $sort_array );
   

    //倒序
    function sortdesc($array) {
        $count = count ( $array );
        if ($count <= 0)
            return;
        for($i = 0; $i < $count; $i ++) {
            //倒序比較
            for($j = $count - 1; $j > $i; $j --) {
                if ($array [$j - 1] > $array [$j]) {
                    //用臨時變數賦值
                    $temp = $array [$j];
                    $array [$j] = $array [$j - 1];
                    $array [$j - 1] = $temp;
                }
            }
        }
        return $array;
    }
   
    //順序
    function sortasc($array) {
        $count = count ( $array );
        if ($count <= 0)
            return;
        for($i = 0; $i < $count; $i ++) {
            //順序比較
            for($j = 0; $j < $count - $i - 1; $j ++) {
                if ($array [$j + 1] < $array [$j]) {
                    //交換變數不賦中間值
                    $array [$j] = $array [$j + 1] + $array [$j];
                    $array [$j + 1] = $array [$j] - $array [$j + 1];
                    $array [$j] = $array [$j] - $array [$j + 1];
                }
            }
        }
        return $array;
    }
   


相關文章