每日一练:冒泡排序

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的不同。


欢迎在评论区贴出你的代码,一起交流学习。

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

CSDN|每日一练奇偶排序

CSDN|每日一练奇偶排序

每日一练(24):在排序数组中查找数字

每日一练5

「 每日一练,快乐水题 」905. 按奇偶排序数组

蓝桥杯每日一练之数列排序