PHP数组冒泡排序新手如何理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36431166/article/details/81263952

长话短说,直击重点!

上代码:

    $pai = array(0,-98,10,40,-20,1,200,-300,58);
    $temp=0;
    for ($i=0;$i<count($pai)-1;$i++) {
        for ($j=0;$j<count($pai)-1-$i;$j++) {
            if ($pai[$j] > $pai[$j+1]) {
                $temp = $pai[$j+1];
                $pai[$j+1] = $pai[$j];
                $pai[$j] = $temp;
            }
        }
    }

思想: 前后两个比较,把大的值往后放

代码两层循环意思:

1.数组元素个数减一: 因为前后两个比较,如果是最后一个的话没有比较对象了,固然是不用比了

2.第二层循环减去$i的意思:每次比较完了就会有个结果在最后面,下次比较的时候就不需要比较这个值了

猜你喜欢

转载自blog.csdn.net/qq_36431166/article/details/81263952