冒泡排序
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
算法原理
冒泡排序算法的核心思想是:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
代码示例
下面是一个使用Python实现的冒泡排序算法:
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后i个元素已经有序,无需比较
for j in range(0, n - i - 1):
# 交换相邻元素,如果前一个元素大于后一个元素
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# 示例
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("排序后的数组:")
for i in range(len(arr)):
print("%d" % arr[i], end=" ")
运行上述代码后,输出结果为:
排序后的数组: ***
适用场景
冒泡排序算法的时间复杂度为O(n^2),因此它仅适用于数据量较小的场景。在实际应用中,通常更倾向于使用时间复杂度较低的排序算法,如快速排序、归并排序等。
总之,冒泡排序是一种简单的排序算法,但它并非适用于所有场景。在实际应用中,需要根据实际需求和数据量选择合适的排序算法。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦