冒泡排序(Bubble Sort)算法是一种简单而常见的排序算法。它的基本思想是通过不断交换相邻的元素,将较大的元素逐渐“冒泡”到数列的末尾,最终完成排序。因为其简单易懂、容易实现,因此也是许多算法教材中的入门示例之一。
Python 代码实现:
下面是一个使用 Python 代码实现的冒泡排序算法:
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 提前退出标志位
flag = False
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# 如果有元素交换,标志位设为 True
flag = True
# 没有数据交换,提前退出
if not flag:
break
该算法的时间复杂度为 O(n^2),其中 n 表示数列的长度。
算法原理:
冒泡排序算法的基本原理是通过不断比较相邻的元素并交换位置,将大的元素向数列的末尾“冒泡”,从而实现排序的目的。
具体来讲,算法从数列的第一个元素开始,依次对相邻的元素进行比较。如果前一个元素大于后一个元素,则交换它们的位置,这样一轮比较下来,数列中最大的元素就会“冒泡”到数列的末尾。
然后重复上述