"""
交换排序:根据序列中两个元素关键字的比较结果来兑换这两个记录在序列中的位置。
以下是冒泡排序的两种实现:
"""
def bubbleSort(lists):
size = len(lists)
if size == 0:
return
# k 表示lists 的元素个数,有多少个元素就外部迭代多少次。
# 冒泡排序的特点是,每一趟排序都会将一个元素放置到其最终的位置上。所以内部循环比较的次数会减少。
# 把大的数推向后面。
for k in range(0, size):
for i in range(0, size-k-1):
if lists[i] > lists[i+1]:
lists[i], lists[i+1] = lists[i+1], lists[i]
return lists
# 把小的数推向前面。
def bubbleSort_one(lists):
size = len(lists)
if size == 0:
return
for k in range(0, size):
for i in range(k+1, size):
if lists[k] > lists[i]:
lists[k], lists[i] = lists[i], lists[k]
return lists
if __name__ == '__main__':
lists = [3, 7, 100, 1, 6, 9, 56]
print(bubbleSort())
print(bubbleSort_one(lists))