美文网首页
冒泡排序

冒泡排序

作者: 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