码迷,mamicode.com
首页 > 编程语言 > 详细

PHP如何对一组数进行重新排列(冒泡算法)

时间:2020-01-13 19:37:48      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:位置   存储   判断   info   就会   png   结束   交换值   条件   

如何对已知数组 $arr =  [24,69,80,57,13] 进行按重新顺序排序。

思路:

  1、我们需要对数组中每两个,前后进行比较,如果前面小于后面的,就进行兑换位置;

  2、因为是两个一比较,所以我们需要比较count($arr) - 1 轮,因为每一轮比较下来,都可以确定一个最大的值,所以每一轮就会减少一次。

图示:

技术图片

 

 代码:

//定义数组
$arr = [24,69,80,57,13];
//定义一个临时变量
$temp = 0;
//第一层循环,外层循环,循环count($arr) - 1 次(可以遍历到每一个数组值)
for ($i1=0; $i1 < count($arr); $i1++) { 
    //第二层循环,内层循环,每一次外层循环内,再次循环,循环次数依次减少一次(每次循环结束,可以获取到一个最大值)
    for ($i=0; $i < count($arr) - 1; $i++) {
        //判断条件,满足即交换值 
        if($arr[$i] > $arr[$i + 1]){
            //临时存储满足条件的变量值
            $temp = $arr[$i];
            //重新赋值
            $arr[$i] = $arr[$i + 1];
            //重新赋值
            $arr[$i + 1] = $temp;
        }
    }
}
//输出排列后的数组
echo ‘<pre>‘;
var_dump($arr);

最终结果为:

技术图片

PHP如何对一组数进行重新排列(冒泡算法)

标签:位置   存储   判断   info   就会   png   结束   交换值   条件   

原文地址:https://www.cnblogs.com/camg/p/12188704.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!