Python,学霸
-
阅读指南 -
原理 -
实例 -
输出 -
效果
原理
冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的列表,一次比较两个元素,如果它们的顺序错误则交换它们的位置。通过多次遍历整个列表,直到不再需要交换,即可完成排序。具体来说,冒泡排序的基本思路如下:
-
从头开始,依次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。 -
继续向列表的下一个元素移动,重复上述比较和交换过程,直到到达列表的末尾。 -
重复以上步骤,每次遍历都会使列表中最大的元素沉底(类似气泡向上升),直至列表完全有序。
实例
import time
def bubble_sort(data):
start_time = time.time()
n = len(data)
for i in range(n):
for j in range(n - i - 1):
if data[j] > data[j + 1]:
data[j], data[j + 1] = data[j + 1], data[j]
#打印排序结果
print_data(data)
#增加等待时间
time.sleep(0.5)
end_time = time.time()
#计算排序用时
sort_time = end_time - start_time
print("n冒泡排序用时:", sort_time)
#打印排序结果
def print_data(data):
print('r', ' '.join(['*' * num for num in data]), end='')
data = [5, 9, 1, 4, 6]
print("原始数据:", ' '.join(['*' * num for num in data]))
bubble_sort(data.copy())
输出
原始数据: ***** ********* * **** ******
* **** ***** ****** *********
冒泡排序用时: 5.009825706481934
效果
原文始发于微信公众号(python学霸):Python冒泡算法及原理
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/275918.html