我们技术人员的《泡沫》冒泡排序

在这里插入图片描述

“美丽的泡沫 虽然一刹花火,你所有承诺 虽然都太脆弱,但爱像泡沫 如果能够看破,有什么难过。”

邓紫棋-泡沫【我是歌手】

在《泡沫》之中,邓紫棋将自己对于爱情的认知,通过旋律和歌词,淡淡的像我们展示出来。

爱情拥有着泡沫的美丽,却也同时拥有着泡沫的脆弱,多少唯美的爱情因承受不住现实的摧残,最后变成了一生的遗憾。

爱情需要经济基础的加固,经济基础,决定上层建筑,没有物质的爱情,注定是要破灭。但我们每一个人却同时羡慕爱情的美丽,我们只用搞好自己的基础,搞好自己的经济。

搞好经济,对于咱们搞技术的小伙伴而言,努力学习编程方面的知识,才是重中之重。今天,咱们一起探讨一下:冒泡排序。

任何排序方式,目的都是找到一组数字正确的顺序,例如下面一组
在这里插入图片描述

我们今天的排序,之所以叫做冒泡排序,它也同时遵守着泡沫的一些规则:大的泡沫在下面,小的泡沫在上面

冒泡排序的本质:相邻元素进行比较,如果前面的元素数值大于面后的元素数值就交换,否则继续往后移一位。

第一轮:
在这里插入图片描述

经过第一轮 77这个最大的数字放在了序列的最后面,我们可以执行下一轮,并且不需要对最后一个数字进行比较。现在的序列为:

在这里插入图片描述

第二轮

在这里插入图片描述

在进行下一轮,这轮产生的新的数据序列为

在这里插入图片描述

第三轮:

在这里插入图片描述

在进行下一轮,这轮产生的新的数据序列为

在这里插入图片描述

第四轮:

在这里插入图片描述

在进行下一轮,这轮产生的新的数据序列为

在这里插入图片描述

最后一轮:-4 < 2 不交换 ,结束排序。

冒泡排序的规律:从这个例子中还可以总结出,如果有 n 个数据,那么只需要比较 n–1 轮。而且除了第一轮之外,每轮都不用全部比较。因为经过前面轮次的比较,已经比较过的轮次已经找到该轮次中最大的数并浮到右边了,所以右边的数不用比较也知道是大的。

代码如下:

# include <stdio.h>
int main(void)
{
    int a[6] = {900, 2, 3, -58, 34, 76};
    int i;  //比较的轮数
    int j;  //每轮比较的次数
    int buf;  //交换数据时用于存放中间数据
    for (i=0; i<5; ++i)  //比较n-1轮 n为数组的长度
    {
        for (j=0; j<5-i; ++j)  //每轮比较n-1-i次,
        {
            if (a[j] > a[j+1])
            {
                buf = a[j];
                a[j] = a[j+1];
                a[j+1] = buf;
            }
        }
    }
    for (i=0; i<6; ++i)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值