每日一练:冒泡排序
Posted Python优雅编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一练:冒泡排序相关的知识,希望对你有一定的参考价值。
问题:实现冒泡排序
解题源码分享:
# 冒泡排序
def bubble_sort(list_):
__len = len(list_)
while __len > 0:
for i in range(0, __len - 1):
if list_[i] > list_[i + 1]:
list_[i], list_[i + 1] = list_[i + 1], list_[i]
__len -= 1
return list_
L = [1, 4, 3, 2, 56, 5, 5, -1, 0, -1, -3, -9]
print(bubble_sort(L))
# [-9, -3, -1, -1, 0, 1, 2, 3, 4, 5, 5, 56]
补充:
Python交换两个变量的值可以直接实现,这种赋值方式等同于tuple(元组)赋值。
a, b = 1, 2
a, b = b, a
print(a, b) # 2 1
(x, y) = (1, 2)
(x, y) = (y, x)
print(x, y) # 2 1
下面也介绍了另一种不借助第三方变量来交换两个变量值的方法,但是此方法仅适用于数值变量。
a, b = 1, 2
a = a + b
b = a - b
a = a - b
print('a,b:', a, b) # a,b: 2 1
print('a,b: %d,%d' % (a, b)) # a,b: 2,1
在此过程中复习了print函数的使用,注意print函数中的逗号(逗号当用于分隔变量时会被解释成空格),以及打印多个变量时与C的不同。
欢迎在评论区贴出你的代码,一起交流学习。
以上是关于每日一练:冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章