zoukankan      html  css  js  c++  java
  • PHP如何对一组数进行重新排列(冒泡算法)

    如何对已知数组 $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);

    最终结果为:

  • 相关阅读:
    python基础 2
    python基础 1
    进程
    进程作业
    上海python14期第二次阶段性考试
    面向对向之元类
    面向对向
    笔试题
    模块(2)
    模块作业
  • 原文地址:https://www.cnblogs.com/camg/p/12188704.html
Copyright © 2011-2022 走看看