[原]07-Python3实用教程-排序算法-冒泡排序

冒泡排序

冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

对于一个长度为N的列表,排序步骤:

1、m = N -1 ,遍历列表第1个元素到第m个元素,依次跟后面一个元素比较大小,如果比后面的元素值大,则交换元素位置;

2、m = N -2 ,遍历列表第1个元素到第m个元素,依次跟后面一个元素比较大小,如果比后面的元素值大,则交换元素位置;

。。。

一直到m=1。

代码实现:

def sort(list):
    for i in range(1, len(list)):
        for j in range(0, len(list)-i):
            if list[j] > list[j+1]:
                list[j], list[j + 1] = list[j + 1], list[j]
    return list

seq_list = [1, 3, 5, 6, 8, 10, 3]

print(sort(seq_list))
#[1, 3, 3, 5, 6, 8, 10]
分享 提问
comments powered by Disqus