Python实现冒泡排序?如何在python中实现冒泡排序?

【Python实现冒泡排序?如何在python中实现冒泡排序?】如果学过c语言肯定知道的四种排序方式,分别是冒泡排序,比较排序,插入排序,还有选择排序,那么我们如何在python中实现这个冒泡算法呢?接下来让小编我来带大家学习一下吧 。
首先我们来介绍一下什么是冒泡排序,冒泡排序就是把一组无序的数字,经过两两比较,在每一次比较之后,将较大的数字往后排序,重复进行直到没有元素需要再交换 。

Python实现冒泡排序?如何在python中实现冒泡排序?

文章插图
 下面是代码实现:
nums=[2,3,7,1,10]#从0开始比较数列长度-1次for i in range(0,len(nums)-1):  for j in range(0,len(nums)-1-i):  #如果前一个值大于后一个值  if nums[j]>nums[j+1]:    #两个值进行交换           nums[j],nums[j+1]=nums[j+1],nums[j]print(nums)这里特别说明一下len(num)-1-I,每次比较都是建立再上一次的比较之后的基础上的 。
第一次[2,3,7,1,10],10这个最大数值已经排列在最后,10第二次无需再比较一次 。
第二次[2,3,1,7,10],7第二大数值已经排列在倒数第二,10,7第三次也无需再比较一次 。
第三次[2,1,3,7,10],3第三大数值也已经排列在正确位置 。
以此类推,已经排列好的数值无需再比较一次,因此在内部循环时应该减少比较次数,而减少i就是每次排列后无需再比较的数值的个数 。
运行结果如下:
Python实现冒泡排序?如何在python中实现冒泡排序?

文章插图
这就是在python上的冒泡算法了,作为最简单的排序算法之一,就像英语书中的good morning一样,所以最为熟悉 。其实冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序 。但这种改进对于提升性能来说并没有什么太大作用,希望对大家有所帮助 。

    推荐阅读