"""
冒泡排序:
思想:
从列表的开头处开始,并且比较一对数据项,知道移动到列表的末尾。
每当成对的两项之间的顺序不正确时,算法就交换其位置。
这个过程的效果就是将最大的项以冒泡的方式排到列表的末尾。
然后,算法从列表开头到倒数第2个列表项重复这一个过程,依次类推,直到该算法从列表的最后一项开始执行。
"""
import random
#定义一个交换函数
def swap(lyst,i,j):
temp = lyst[i]
lyst[i] = lyst[j]
lyst[j] = temp
#定义冒泡排序
def bubble_sort(lyst):
n = len(lyst)
while n > 1:
i = 1
while i < n:
if lyst[i] < lyst[i-1]:
swap(lyst,i,i-1)
i += 1
n -= 1
return lyst
def test_sort():
lyst = list(range(10))
lyst = random.shuffle(lyst) #打乱排序
assert bubble_sort(lyst) == lyst
if __name__ == "__main__":
test_sort()
10_数据结构与算法_冒泡排序_Python实现
猜你喜欢
转载自blog.csdn.net/PyDarren/article/details/83449283
今日推荐
周排行