admin
管理员
管理员
  • UID1
  • 粉丝2
  • 关注2
  • 发帖数339
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:3180回复:0

PHP算法之冒泡排序

楼主#
更多 发布于:2013-07-08 16:18
分享到:
/**
 * 冒泡排序 (一维数组)
 * 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止
 * 设想被排序的数组R[1..N] 垂直竖立,将每个数据元素看作有重量的气泡,从下往上扫描数组,凡扫描违反原则的轻气泡,就使其向上"漂浮".如此反复进行.
 * 直到最后任何两个气都是轻者在上,重者在下为止.
 */
function bubble_sort($array) {
        $count = count($array);
        if($count < 0) {
                return false;
        }
        for($i = 0; $i < $count; $i++) {
                for($j = $count - 1; $j > $i; $j--) {
                        if($array[$j] < $array[$j - 1]) {
                                $tmp = $array[$j];
                                $array[$j] = $array[$j - 1];
                                $array[$j - 1] = $tmp;
                        }
                }
        }
        return $array;
}
游客

返回顶部