python 冒泡排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

以上是关于python 冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

冒泡排序的python代码实现

python写冒泡排序

[leetcode]排序算法(冒泡排序,选择排序,插入排序,快速排序,计数排序)

python实现时间复杂度平均为N^2的冒泡选择插入排序

python实现时间复杂度平均为N^2的冒泡选择插入排序

python实现时间复杂度平均为N^2的冒泡选择插入排序