PHP 实现冒泡排序

作者: phpworkerman | 来源:发表于2022-08-18 17:46 被阅读0次
    算法简介

    冒泡排序(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 上手简单、开发快,各种开箱即用的函数用起来是很爽,但也屏蔽了背后的原理,不禁感慨人还是要不断学习,开阔自己的眼界,不能只活在自己的那口井里。

    相关文章

      网友评论

        本文标题:PHP 实现冒泡排序

        本文链接:https://www.haomeiwen.com/subject/qabegrtx.html