前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >冒泡排序的思想及实现步骤Python

冒泡排序的思想及实现步骤Python

作者头像
葆宁
发布2022-01-06 08:50:00
2570
发布2022-01-06 08:50:00
举报
文章被收录于专栏:FREE SOLOFREE SOLO

冒泡排序的思想及实现步骤 冒泡排序(Bubble Sort) 冒泡排序的核心思想是:通过双层循环遍历,每次比较两个数,如果他们顺序错误(大于或者小于),那么就把他们位置交换。

• 首先,比较第一个数和第二个数的大小,由于是从小到大排列,所以如果第一个数大于第二个数,则将这两个数互换位置,反之则不变。 • 然后进行第二个数和第三个数比较,同上。 • 这样依次比较一轮后,你会发现,总共比了4次,也就是说,如果有n个数进行比较,那么需要n-1次才能完成。 • 上面过程主要完成了一轮比较,最终确定了一个最大的数,并且排在5个数的最后,也就是第五个数。 • 那么也就意味着需要在进行第一个数到第四个数的一轮比较,确定最大值。 • 接着从第一个数到第三个数… • 这样规律就很明显了,五个数需要比较四轮,就能将5个数升序排列,所以n个数需要比较n-1轮。

冒泡排序算法利用了双层循环,时间复杂度为O(n^2) 稳定性为:稳定

代码语言:javascript
复制
def bubble_sort(data_set):
    for i in range(len(data_set)):
        for j in range(len(data_set) - i - 1):
            if data_set[j] > data_set[j + 1]:
                tmp = data_set[j]
                data_set[j] = data_set[j + 1]
                data_set[j + 1] = tmp
def test():
    l = [5, 8, 9, 0, 7, 4, 10]
    bubble_sort(l)
    print l
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档