python 冒泡排序

冒泡排序:

有一组待排序的数,我们在这里将这组数按照从小到大的顺序排列起来。
将第一个数(40)与第二个数(20)比较,40 > 20, 交换位置。第二个数(40)与第三个数(30)比较,40 >30,交换位置。第三个数(40)与第四个数(10)比较,40 >10,交换位置。将第四个数(40)与第五个数(50)比较,40 <50,不动。就这样,最上面的数就成了最大的数,我们接下来只需要对下面的四个数排序就可以了。

#!/usr/bin/env python
import random

def bubble_sort(data):
  length = len(data)
  for i in range(len(data) - 1):#冒泡n-1次
   for j in range(len(data)-i - 1):#比较次数n-i-1
    if (data[j] > data[j + 1]):#从小到大
        tmp = data[j]
        data[j] = data[j + 1]
        data[j + 1] = tmp
r = random.Random()
#定义空列表,并追加数值
data = []
for n in range(0, 10):
  data.append(r.randint(1, 20))
print("初始为:")
print(data)
print("冒泡排序后:")
bubble_sort(data)
print(data)

posted @ 2017-12-07 23:49  黑蒜  阅读(82)  评论(0编辑  收藏  举报