复制
收藏
提问
简洁
写一个冒泡排序
3月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
冒泡排序是一种基础的排序算法,其工作原理是通过重复遍历待排序的数列,比较每对相邻元素的大小,并在必要时交换它们的位置。这个过程会重复进行,直到没有需要交换的元素为止,这意味着数列已经完全有序。以下是冒泡排序的一个简单实现,使用Python语言编写:
def bubble_sort(arr):
n = len(arr)
# 外层循环控制排序的总趟数
for i in range(n - 1):
# 假设本趟排序后已经有序
swapped = 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]
# 标记发生了交换
swapped = True
# 如果在一趟排序中没有发生交换,说明数组已经有序,可以提前结束
if not swapped:
break
return arr
# 示例数组
example_array = [64, 34, 25, 12, 22, 11, 90]
# 调用冒泡排序函数
sorted_array = bubble_sort(example_array)
print("Sorted array:", sorted_array)
这段代码首先定义了一个名为bubble_sort
的函数,它接受一个数组arr
作为参数。函数内部使用两个嵌套的循环来实现冒泡排序的逻辑。外层循环控制排序的总趟数,内层循环则负责在每一趟中进行相邻元素的比较和交换。如果在某一趟排序中没有发生任何交换,说明数组已经有序,可以通过break
语句提前结束排序过程。最后,函数返回排序后的数组。910
你觉得结果怎么样?