python列表冒泡排序_python – 冒泡排序已排序列表

正如Jorge在回答中所示,但是没有解释(如关闭喷射)在泡泡中放置一个默认为True或False的布尔变量,无论你选择什么,如果你进行交换并将结果返回到最后,则将其值更改为oposite,如果从bubble获得的值是您的默认值,则表示您的列表是否已订购,否则您必须继续调用该函数.然后你可以将main函数改为像这样的while循环

def bubble(values):

"return true if a swap was made, false otherwise"

flag = False

for i in range(len(values)-1):

if values[i]>values[i+1]:

swap(values,i,i+1)

flag = True

return flag

def bubble_sort(values):

count = 0

while bubble(values): # while there is a swap...

count += 1

return count

测试

>>> test=[1,9,4,7,2,8,10,5,6,3]

>>> bubble_sort(test)

7

>>> test

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> bubble_sort(test)

0

>>> test

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值