冒泡排序算法的实现过程相对简单,以下是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]
return arr
在这个实现中,我们定义了一个名为bubble_sort
的函数,它接受一个列表arr
作为输入,并返回一个已排序的列表。函数内部使用两个嵌套的循环来遍历整个列表,并比较相邻元素的大小。如果当前元素大于下一个元素,则交换它们的位置。在每一次内层循环结束后,列表中最后的i个元素已经有序,因此在下一轮循环中可以减少比较次数。
以下是使用该函数的示例代码:
arr = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = bubble_sort(arr)
print("排序后的数组:")
for i in range(len(sorted_arr)):
print("%d" % sorted_arr[i]),
输出结果为:
排序后的数组:
11 12 22 25 34 64 90