本帖最后由 l2x11 于 2009-11-03 17:31:43 编辑

解决方案 »

  1.   

    怎么写得这么诡异...$arr = array(1,3,2,5,46,8,4,21,8,9,55);
    $cont = count($arr);
    for($i=0;$i<$cont;$i++){
        $change = false;
        for($j=$cont-1;$j>$i;$j--){
            if($arr[$j]<$arr[$i]){
                $temp = $arr[$j];
                $arr[$j]=$arr[$i];
                $arr[$i]=$temp;
            }
        }
    }
    echo "<pre>";
    print_r($arr);
    echo "</pre>";
      

  2.   


    <?php
    $arr = array(1,3,2,5,46,8,4,21,8,9,55);
    $cont = count($arr);
    for($i=0;$i<$cont;$i++){
        for($j=$cont-1;$j>$i;$j--){
            if($arr[$j-1]<$arr[$j]){
                $temp = $arr[$j];
                $arr[$j]=$arr[$j-1];
                $arr[$j-1]=$temp;
            }
        }
    }
    echo "<pre>";
    print_r($arr);
    echo "</pre>";
    ?>
      

  3.   

    <?php
    $arr = array(1,3,2,5,46,8,4,21,8,9,55);
    $cont = count($arr);
    for($i=0;$i<=$cont-1;$i++){
        for($j=$i;$j<=$count-1;$j++){
            if($arr[$j-1]<$arr[$j]){
                $temp = $arr[$j];
                $arr[$j]=$arr[$j-1];
                $arr[$j-1]=$temp;
            }
        }
    }
    echo "<pre>";
    print_r($arr);
    echo "</pre>";
    ?>
      

  4.   

    $arr = array(1,3,2,5,46,8,4,21,8,9,55);
    $count = count($arr);
    for($i=0;$i<$count;$i++){
        for($j=$count-1;$j>$i;$j--){
            if($arr[$j]<$arr[$i]){
                $temp = $arr[$j];
                $arr[$j]=$arr[$i];
                $arr[$i]=$temp;
            }
        }
    }
    echo "<pre>";
    print_r($arr);
    echo "</pre>";
      

  5.   

    $arr = array(1,3,2,5,46,8,4,21,8,9,55);
    $count = count($arr);
    for($i=0;$i<$count-1;$i++){
        for($j=$i+1;$j<$count;$j++){
            if($arr[$j] > $arr[$i]){
              list($arr[$i], $arr[$j]) = array($arr[$j], $arr[$i]);
            }
        }
    }