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

        ?>

        


丁洁民:结构成就建筑之美
栗德祥:新型城镇化规划要解决千城一面的症结
何周礼:公共空间建筑更要有自己的思维
工程咨询中的可行性研究与评估应强化环境意识
项目管理应遵循的八个原则
浅谈建筑工程项目施工管理的创新
论现代工程项目管理
朱大鸣:限购基本取消 限贷令是防止房价崩溃的最后底线
信息发布:名易软件http://www.myidp.net