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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值