当前位置 博文首页 > 文章内容

    PHP算法练习九:将全部偶数转到全部奇数之前

    作者:shunshunshun18 栏目:未分类 时间:2021-08-13 10:42:51

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    在这篇《》中给大家介绍了怎么判断给定的三个数是否能构成直角三角形,今天继续开始算法练习系列内容~

    本文的中心的问题“编写一个PHP程序,从给定的整数数组中创建新数组,将所有偶数移到所有奇数之前”。

    先给大家介绍下偶数和奇数的概念:

    • 偶数是可以被2所整除的整数。正偶数也被称双数。如果某数是2的倍数,那么它就是偶数,可以表示为2n;如果不是,它就是奇数,可表示为2n+1(n为整数),即奇数除以二的余数是一。

    • 奇数(odd)就是指不能被2整除的整数 ,数学表达形式为:2k+1, 奇数还可以分为正奇数和负奇数。

    下面就开始正题~

    PHP代码如下:

    <?php
    function test($numbers)
    {
        $index = 0;
        for ($i = 0; $i < sizeof($numbers); $i++)
        {
            if ($numbers[$i] % 2 == 0)
            {
                $temp = $numbers[$index];
                $numbers[$index] = $numbers[$i];
                $numbers[$i] = $temp;
                $index++;
            }
        }
        return $numbers;
    }
    
    $result = test([1, 2, 5, 3, 5, 4, 6, 9, 11] );
    echo "新数组: " . implode(',', $result);

    输出结果是:

    新数组: 2,4,6,3,5,1,5,9,11

    可以看到偶数都在奇数前面。

    我们给的原始数组内容是[1, 2, 5, 3, 5, 4, 6, 9, 11],然后通过计算“$numbers[$i] % 2”结果是否等于0,也是判断奇数偶数的关键公式,然后判断出奇数偶数,再进行调换位置就行了。

    至于新数组则用implode()函数把数组元素组合为字符串输出即可。

    implode()函数的作用就是返回由数组元素组合成的字符串。

    最后给大家推荐最新最全面的《》~快来学习吧!