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

bca667a1335f2bd1e94b4b8b6b838ec7.png

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

思路:

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

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

图示:

f495b90fc9c7edc32311a5e22c0877c7.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 '

';

var_dump($arr);

最终结果为:

71137815f08486df623c59b9add077e6.png

更多相关php知识,请访问php教程!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值