PHP

使用 php 进行冒泡排序

使用 php 进行冒泡排序

作者:何兴林 发布时间: 2017-05-22 阅读:


<meta charset="gb2312"/>
<?PHP
    //数组元素值从小到大排序
    $arr=array(1,42,0,3,15,7,19,26);
    foreach($arras$k=>$v)
    echo" index:$k -- value:$v<br>";
       
    echo"<hr color=red />";
    echo"After applying sort() <br>";   
    $ar=$arr;
    //定义一个中间变量
    sort($ar);
    print_r($ar);
       
    echo'<br><hr color=red />';
    echo"使用 冒泡排序";
    $temp=0;
    //外层循环的次数
    for($i=0;$i<count($arr)-1;$i++){
        $exchange=false;
        //内层之间向右相邻的两个数组元素值进行比较
        for($j=0;$j<count($arr)-1-$i;$j++){
            //当后一个数组元素值大于前一个数组原数值
            if($arr[$j]>$arr[$j+1]){
            //数组元素交换
               $temp=$arr[$j];
               $arr[$j]=$arr[$j+1];
               $arr[$j+1]=$temp;
               $exchange=true;
              }
   
           }
        //外层数组循环的次数是---count($arr)-1
        //-1的原因(数组元素值比较时是两个比较
        //如3个数组元素比较2次
        echo"这是第".($i+1)."次比较的结果";
        echo"<pre/>";
        print_r($arr);
        echo"<pre/>";
        if(!$exchange)
        break;
       }
    echo"<hr color=red />";
    echo"<pre/>";
    print_r($arr);
    echo"<pre/>"
   
?>

文章地址:http://blog.yunzhancms.com/index.php?s=/Article/detail/id/173 欢迎转载,转载时请注明出处

分享到: