码迷,mamicode.com
首页 > 编程语言 > 详细

BubbleSort 冒泡排序

时间:2019-12-26 09:57:44      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:最大   排序   次数   排列   sort   print   pytho   def   变量   

# BubbleSort冒泡排序_Python实现


def bubble_sort(li):
    for i in range(len(li) - 1):  # len为个数, range_len为所有元素下标 range(len-1)为冒泡次数,冒泡次数为元素个数-1
        for j in range(len(li) - i - 1):  # 此处-i 能够避免继续遍历已经排列好的次序
            if li[j] >= li[j + 1]:
                li[j], li[j + 1] = li[j + 1], li[j]
    return li


list = [1, 55, 98984, 65, 165, 356, 54, 3, 645, 74, 64, 32, 15, 22, 7481, 4, 65]

li = bubble_sort(list)

print(li)

  

冒泡排序的特征:
双遍历.
遍历i , 对比i 和 i+1 的值
如果前者大于后者则交换两者位置

第一次遍历后, 最大的排在最后.
下次遍历时候, 总位数减去已排列位数.在剩余的位数中找最大放在最后.

冒泡排序不需要定义变量

BubbleSort 冒泡排序

标签:最大   排序   次数   排列   sort   print   pytho   def   变量   

原文地址:https://www.cnblogs.com/jrri/p/12099914.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!