美文网首页
冒泡排序

冒泡排序

作者: X1_blog | 来源:发表于2020-05-07 18:52 被阅读0次
    /*冒泡排序*/
    $arr = [14,18,19,37,23,40,29,30,11,7,2,1,8,6,3,5,4,5,4] ;
    $sorted_arr = bubbleSort($arr,count($arr));
    myPrint($sorted_arr);       // 1 2 3 4 4 5 5 6 7 8 11 14 18 19 23 29 30 37 40   [Finished in 0.1s]
    
    
    /* @$arr 待排序数组
    @$count 需处理的长度
    */
    function bubbleSort($arr,$count)
    {
        for ($i=0; $i <$count ; $i++) {
            if($i+1<$count && $arr[$i]>$arr[$i+1]){ // 逆序对
                swap($arr,$i,$i+1);
            }
        }
        if($count-1==1){
            return $arr;
        }else{
            return bubbleSort($arr,$count-1);
        }
    }
    
    
    /*自定义格式数组输出*/
    function myPrint($arr){
        foreach ($arr as  $value) {
            echo $value." " ;
        }
        echo "\n";
    }
    
    /*交换索引指向的元素*/
    function swap(&$arr,$i,$j){
        $tmp =$arr[$j];
        $arr[$j] =$arr[$i];
        $arr[$i] =$tmp;
    }

    相关文章

      网友评论

          本文标题:冒泡排序

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