冒泡排序——Python

  1. 算法步骤
    比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元 素会是最大的数。
    针对所有的元素重复以上的步骤,除了最后一个。
    持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

2.代码思路:
a. list[0]和list[1]比较
b. list[0]和list[1]比较,list[1]和list[2]比较
c. list[0]和list[1]比较,list[1]和list[2]比较,list[2]和list[3]比较
以此类推,i从1开始到len(list),j 从0开始到i,然后list[j]和list[j+1]比较。

  1. 代码
#!/usr/bin/python

list = [10,6,4,8,2,9,1] 

def bubbleSorted(list):
    for i in range(1, len(list)):
        for j in range(0, len(list)-i):
            if list[j] > list[j+1]:
                list[j],list[j+1] = list[j+1],list[j]
    return list
print(bubbleSorted(list))

参考:http://www.runoob.com/w3cnote/bubble-sort.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。