PHP基础排序算法(一)冒泡排序

来源:互联网 发布:财新网 知乎 编辑:程序博客网 时间:2024/05/29 13:18

PHP基础排序算法之冒泡排序

<?php/** * @冒泡排序 * @排序思路: *       交换排序,通过相邻数据的交换来达到排序的目的 * @流程: *      (1)对数组中的各数据,依次比较相邻的两个元素的大小。 *      (2)如果前面的数据大于后面的数据,就交换这两个数据,经过第一轮的多次比较排序后,便可以把最大的数据排好。 *      (3)再用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序排列好。 *//** * @desc 冒泡排序算法ASC * @author lxs */function bubbleSortAsc($arr) {    $count = count($arr);    for($x = 1; $x < $count; $x++) {        for($y = 0; $y < $count-$x; $y++) {            if($arr[$y] > $arr[$y+1]) {                $temp = $arr[$y+1];                $arr[$y+1] = $arr[$y];                $arr[$y] = $temp;            }        }    }    return $arr;}/** * @desc 冒泡排序算法DESC * @author lxs */function bubbleSortDesc($arr) {    $count = count($arr);    for($x = 1; $x < $count; $x++) {        for($y = 0; $y < $count-$x; $y++) {            if($arr[$y] < $arr[$y+1]) {                $temp = $arr[$y+1];                $arr[$y+1] = $arr[$y];                $arr[$y] = $temp;            }        }    }    return $arr;}/** * @desc 测试 */$arr = array(23,13,33,44,53,4,6,22,489,2,65,89,320,54,360,11,999);$res_asc = bubbleSortAsc($arr);$res_desc = bubbleSortDesc($arr);echo '<pre>';print_r($res_asc);print_r($res_desc);echo '</pre>';


0 0
原创粉丝点击