美文网首页
冒了个泡

冒了个泡

作者: 撸代码不如撸猫咪 | 来源:发表于2017-11-07 13:58 被阅读17次

没事写个冒泡玩玩,冒泡的基本原理(我这从后往前比较):

(1) 依次比较相邻的数,把大的或者小的数丢到后面(我这里按从小到大排序,> 把大的数放后头)。这样一次循环会把最小的数字排序到最左边。
(2)再对剩下的数字进行一次相同的操作,这样把第二小的数字放在第二个位>
置,一次做n-1次循环,就能把数字从小到大排好序。
(3)当如果入参的数组里,数字的一开始就有一定的顺序,比如 1、2、4、3、5、6,排序就只需要把4和3换个顺序,所以可以记录一个标志位,当没有需要更> 换位置时候,就可以退出遍历,这样只进行了11次循环,详见代码。

排序代码:

function bubbleSort(array $array)
{
    if ( ! is_array($array) || count($array) == 0) {
        return 'invalid input';
    }

    $len = count($array);

    if ($len == 1) {
        return $array;
    }

    //记录是否已经排好顺序
    $isOK = true;

    for ($i = 0; ($i < $len - 1) && $isOK; $i++) {
        $isOK = false;
        for ($j = $len - 2; $j >= $i; $j--) {
            if ($array[$j] > $array[$j + 1]) { //判断当前相邻数字大小
                //交换顺序
                $array[$j + 1] = $array[$j] + $array[$j + 1];
                $array[$j] = $array[$j + 1] - $array[$j];
                $array[$j + 1] = $array[$j + 1] - $array[$j];
                $isOK = true;
            }
        }
        //输出本次排序的结果
        echo '第' . ($i + 1) . '次排序结果:' . implode(",", $array) . "\n";
    }

    return $array;
}

$sort = array(1, 3, 2, 8, 3, 1, 100, 82, 21, 0, -1, 23);
//$sort = array(1, 2, 5, 4, 6, 7, 8);
$res = bubbleSort($sort);
echo "排序结果:" . implode(",", $res) . "\n";

输出结果:

bubbleSort.jpg

相关文章

  • 冒了个泡

    没事写个冒泡玩玩,冒泡的基本原理(我这从后往前比较): (1) 依次比较相邻的数,把大的或者小的数丢到后面(我这里...

  • 冒了个泡~

    最近有亿、、喜欢小陆公主啊 大家都看婧了嘛? THE9里更喜欢哪个plmm呢? 你们该不会因为我像发pyq一样骂我...

  • 泡脚。

    今天我感冒了。我已经感冒了好几天了。今天妈妈要给我泡脚。我说泡脚是什么?妈妈说泡脚可舒服了。我泡的时候后非常烫。泡...

  • 清早,我脑袋里冒了个泡

    我们很多时候会很着急,急着去做一些事情,着急完成很多“任务”。好像只有这样才真正对得起自己,对得起身边所有的人,对...

  • 咯咯冒了个泡,又归隐了!

    疫情反复无常,我所在的城市又连续3天作核酸了! 他所在的城市刚解封又封控了!今天29号了,又一个10天了,咯咯一直...

  • 生活随笔|泡脚

    婆婆是我们家的“保健医生”,她的保健方法只有一招——泡脚。 感冒了,泡脚;胃疼了,泡脚;肚痛呢,泡脚;发烧了,还是...

  • 泡脚的时候加点它,三天逼出体内湿气

    生姜泡脚,预防流感,手脚冰凉1、预防流感。冬天感冒了先别吃药,用5片生姜泡脚,每次20分钟,连泡2-3天就能完全好...

  • **智障【口味慎重段子】

    一天我登上扣扣…… 再进去班群发现一个都没有…… 于是我冒了个泡…… 还是没人理我我刷屏...

  • 关于气

    在水里看到一个汽泡 分不清是人呼出的气 还是放出的屁 冒了一个泡 屁乃气 出来的位置不同罢了

  • #随笔#感冒了。。。

    感冒了,终于可以留在家里,给老妈泡一杯闺蜜送了好久的菊花王,让自己在家里喝杯闲茶; 感冒了,终于可以在家里心无旁骛...

网友评论

      本文标题:冒了个泡

      本文链接:https://www.haomeiwen.com/subject/thxjmxtx.html