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);

    最终结果为:

  • 相关阅读:
    160809322-王翔君第十一次c语言作业
    c语言第九次作业
    王翔君第9次c语言作业
    王翔君160809322第六次作业
    160809322-王翔君第四次作业
    第三次作业160809322
    160809322-王翔君
    160809322-王翔君
    输出不可重复的质因数
    求最大数与最小数乘积
  • 原文地址:https://www.cnblogs.com/camg/p/12188704.html
Copyright © 2011-2022 走看看