首页 > 学院 > 逻辑算法 > 正文

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

2020-03-22 16:18:13
字体:
来源:转载
供稿:网友

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

思路:

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

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

图示:

468d3d0c35f25d61c1b16d042871edf.png

代码:

//定义数组$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);

最终结果为:

96ac690b0cc757814dff95f177d21d6.png

更多相关php知识,请访问html' target='_blank'>php教程

以上就是PHP对一组数进行重新排列(冒泡算法)的详细内容,更多请关注电脑知识其它相关文章!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表