Python3-算法-冒泡排序

冒泡排序

  它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成,这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故(来自百度百科,一本正经脸 -.-)

  1.循环比较两个相邻的元素,如果第一个比第二个大,那么交换这两个元素的位置

  2.这样全部比较一次所有元素之后,最大的元素,则被交换到了最后位置

  3.重复步骤1,除了最后一个元素(所以以后的每次循环都会少循环一个元素)

 

data = [1, 32, 34, 45, 63, 20, 2, 213, 0, 25, 127, 10, 17]

for j in range(1, len(data)):
    for i in range(len(data)-j):  # 减少循环次数
        if data[i] > data[i+1]:
            data[i], data[i+1] = data[i+1], data[i]  # 两个值互换

print(data)    # 输出结果: [0, 1, 2, 10, 17, 20, 25, 32, 34, 45, 63, 127, 213]
冒泡排序

 

posted on 2017-03-22 15:32  AustralGeek  阅读(159)  评论(0编辑  收藏  举报

导航