【python】冒泡排序?

题目:如何实现冒泡排序。

分析:冒泡排序的思想:对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换其位置一轮比较和换位后,n个记录中的最大记录将位于第n位;然后对前(n-1)个记录进行第二轮比较;重复该过程直到进行比较的记录只剩下一个时为止。冒泡排序是一种稳定的排序方法,最好的情况下的时间复杂度为O(n),最坏的情况下时间复杂度为O(n**2),平均情况下的时间复杂度为O(n**2)。空间复杂度为O(1)。

code:

def bubble_sort(lists):

    for i in range(len(lists) - 1):

        for j in range(len(lists) - i - 1):

            if lists[j] > lists[j + 1]:

                lists[j], lists[j + 1] = lists[j + 1], lists[j]

    return lists

if __name__ == "__main__":

    lists = [3, 4, 2, 8, 9, 5, 1]

    print(bubble_sort(lists))


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文主要介绍了常见的8大排序算法基本概念以及其Python实现方式,如果你是Java程序员,也可以看看之前我们介绍...
    派派森森阅读 186评论 0赞 0
  • 1、插入排序 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序...
    nine_9阅读 1,717评论 0赞 0
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,355评论 0赞 52
  • 最近忍不住老是犯蠢,蠢了之后,自己再生会儿气,心塞的无以复加……(怪不得吃了不长肉-_-) 比如:看到别的同事的做...
    废柴少爷阅读 308评论 0赞 0
  • 当食物撑满整张嘴的时候,就是灵魂与食物最近距离交流时候。就在那几秒钟里,必须相信食物是有情绪的。 毫不夸张的说,这...
    聪聪丫阅读 2,752评论 3赞 7

友情链接更多精彩内容