给我写个冒泡排序
以下是 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,它接受一个数组作为参数。在函数体内,首先获取数组的长度,然后使用两个嵌套的 for 循环,遍历数组中的所有元素。外层循环用于控制遍历的轮数,内层循环用于比较相邻的元素。如果前一个元素比后一个元素大,则交换它们的位置,以此来实现冒泡排序的核心算法。最后返回排序后的数组。
以下是使用示例:
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
``
原文地址: https://www.cveoy.top/t/topic/dpY7 著作权归作者所有。请勿转载和采集!