主页
软件技术
返回
PHP实现排序算法

        <?php

        // 功能: PHP实现各种排序算法

        // 冒泡排序

        function BubbleSort($arr){

        $num = count($arr);

        for($i=1;$i<$num;$i++){

        for($j=$num-1;$j>=$i;$j--){

        if($arr[$j]<$arr[$j-1]){

        $iTemp = $arr[$j-1];

        $arr[$j-1] = $arr[$j];

        $arr[$j] = $iTemp;

        }

        }

        }

        return $arr;

        }

        // 交换法排序

        function ExchangeSort($arr){

        $num = count($arr);

        for($i=0;$i<$num-1;$i++){

        for($j=$i+1;$j<$num;$j++){

        if($arr[$j]<$arr[$i]){

        $iTemp = $arr[$i];

        $arr[$i] = $arr[$j];

        $arr[$j] = $iTemp;

        }

        }

        }

        return $arr;

        }

        // 选择法排序

        function SelectSort($arr){

        $num = count($arr);

        for($i=0;$i<$num-1;$i++){

        $iTemp = $arr[$i];

        $iPos = $i;

        for($j=$i+1;$j<$num;$j++){

        if($arr[$j]<$iTemp){

        $iTemp = $arr[$j];

        $iPos = $j;

        }

        }

        $arr[$iPos] = $arr[$i];

        $arr[$i] = $iTemp;

        }

        return $arr;

        }

        // 插入法排序

        function InsertSort($arr){

        $num = count($arr);

        for($i=1;$i<$num;$i++){

        $iTemp = $arr[$i];

        $iPos = $i-1;

        while(($iPos>=0) && ($iTemp<$arr[$iPos])){

        $arr[$iPos+1] = $arr[$iPos];

        $iPos--;

        }

        $arr[$iPos+1] = $iTemp;

        }

        return $arr;

        }

        // 快速排序

        function QuickSort($arr){

        $num = count($arr);

        $l=$r=0;

        for($i=1;$i<$num;$i++){

        if($arr[$i] < $arr[0]){

        $left[] = $arr[$i];

        $l++;

        }else{

        $right[] = $arr[$i];

        $r++;

        }

        }

        if($l > 1){

        $left = QuickSort($left);

        }

        $new_arr = $left;

        $new_arr[] = $arr[0];

        if($r > 1){

        $right = QuickSort($right);

        }

        for($i=0;$i<$r;$i++){

        $new_arr[] = $right[$i];

        }

        return $new_arr;

        }

        $arr = array(7,1,6,5,2); $arr_new = QuickSort($arr); echo "<pre>";

        print_r($arr_new);

        echo "</pre>";

        ?>

        


2014年1-12月北京水泥混凝土压力管产量统计(分月度)
高层建筑抗震结构设计
膨胀剂WHU对自密实砼收缩及渗透性的影响
2013年湖北复合木地板产量分月度统计
园林绿化工程施工组织设计方案71p
2014年1-12月北京钢材产量统计(分月度)
2015年安全工程师《相关法规》模拟训练(1)
如何确保施工质量
信息发布:名易软件http://www.myidp.net