Python 冒泡排序

a = [9, 3, 7, 1, 4, 5, 8, 15, 12, 16, 9]

print(a)
for i in range(0, len(a)):
    for j in range(0, len(a) - i - 1):
        if a[j] > a[j+1]:
            tmp = a[j]
            a[j] = a[j + 1]
            a[j + 1] = tmp

print(a)

 

a = [9, 3, 7, 1, 4, 5, 8, 15, 12, 16, 9]

print(a)
for i in range(len(a)):
    for j in range(len(a) - i - 1):
        if a[j] > a[j+1]:
            a[j], a[j+1] = a[j + 1], a[j]
print(a)

一开始a我写成了 a=(9, 3, 7, 1, 4, 5, 8, 15, 12, 16, 9), 发现不行,原来在Python中,()是Tuple,Tuple 比 list 操作速度快。如果您定义了一个值的常量集, 并且唯一要用它做的是不断地遍历它, 请使用 tuple 代替 list。

* 如果对不需要修改的数据进行 “写保护”, 可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的 assert 语句, 说明这一数据是常量。如果必须要改变这些值, 则需要执行 tuple 到 list 的转换 (需要使用一个特殊的函数)。

而我们这边需要进行交换,所以需要用list。Python中交换可以这样写,简单些。

 

http://www.waitingfy.com/archives/1876

1876

Leave a Reply

Name and Email Address are required fields.
Your email will not be published or shared with third parties.