美文网首页
冒泡排序 php

冒泡排序 php

作者: WayneJoe | 来源:发表于2019-10-30 13:08 被阅读0次

    冒泡排序是比较简单的一种排序算法
    时间复杂度 O(n²)

    一、排序原理

    核心是: 双层循环,逐个对比

    1、第一层循环

    是根据数组长度,来决定此数组需要比较的轮次
    不参与实际计算

    2、第二层循环

    每轮次具体的比较逻辑,每轮比较数=数组count值(可优化)
    依次按下标取出n 和 n+1 两个值
    然后根据两值大小来判断是否交换下标

    二、PHP代码示例

    function BubbleSort(){
        $arr = array();
        $len = count($arr );
        for($i=0;$i<$len;$i++){
            $flag = false;
            for($j=$len-1;$j>0;$i--){
                if($arr[$j]<$arr[$j-1]){
                    $x= $arr[$j];
                    $arr[$j]=$arr[$j-1];
                    $arr[$j-1]=$arr[$j];
                    $flag = true;
                }
            }
            if(!$flag) break;//如果未发生交换
        }
    
        return $arr;
    }
    

    相关文章

      网友评论

          本文标题:冒泡排序 php

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