主页
软件技术
返回
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>";

        ?>

        


安全工程师:安全生产技术单项选择试题
油液监测与设备诊断技术及在煤矿的应用
浙江某安置房建筑节能专项施工
山西平榆高速公路某隧道实施性施工组织设计
安全知识试题(仅供参考)
2015年招标师《招标采购案例分析》串讲讲义下载(13)
自贡市2015年造价工程师考试报名时间为5月20日至6月20日
[湖南省]2005年造价工程师报名6月5日截止
信息发布:名易软件http://www.myidp.net