PHP开发PHP 开发技术分享PHP经验分享

PHP 实现冒泡排序

2022-08-18  本文已影响0人  phpworkerman
算法简介

冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。

代码实现
<?php
$arr = [7, 43, 34, 34, 12, 0, 123, 22, 33];

for ($i=0;$i<count($arr);$i++) {
    for ($j=$i+1;$j<count($arr);$j++) {
        if ($arr[$i] > $arr[$j]) {
            $tmp = $arr[$i];
            $arr[$i] = $arr[$j];
            $arr[$j] = $tmp;
        }
    }
}

print_r($arr);

排序结果

Array
(
    [0] => 0
    [1] => 7
    [2] => 12
    [3] => 22
    [4] => 33
    [5] => 34
    [6] => 34
    [7] => 43
    [8] => 123
)

以上的例子单纯通过 PHP 的 sort 函数也能实现,这里学习的是一种算法思想,在问了 JAVA 同事后才知道他们都是手搓算法的,并没有 PHP 这种简便的内置函数,长久以来一直听人说 PHP 上手简单、开发快,各种开箱即用的函数用起来是很爽,但也屏蔽了背后的原理,不禁感慨人还是要不断学习,开阔自己的眼界,不能只活在自己的那口井里。

上一篇 下一篇

猜你喜欢

热点阅读