十大排序算法之冒泡排序(Bubble Sort)

每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求,如果不满足就让它俩互换。

function bubble_sort($arr)
{
    $len = count($arr);
    if ($len < 2) {
        return $arr;
    }
    for ($i = 0; $i < $len; $i++) {
        //提前推出冒泡循环的标志位
        $flag = false;
        for ($j = 0; $j < $len - $i - 1; $j++) {
            if ($arr[$j] > $arr[$j + 1]) {
                //交换
                $tmp = $arr[$j + 1];
                $arr[$j + 1] = $arr[$j];
                $arr[$j] = $tmp;
                $flag = true;
            }
        }
        if ($flag == false) {
            break;
        }
    }
    return $arr;
}

发布了9 篇原创文章 · 获赞 3 · 访问量 1314

猜你喜欢

转载自blog.csdn.net/qq_34051908/article/details/103989551