温馨提示:这篇文章已超过239天没有更新,请注意相关的内容是否还可用!
冒泡排序是一种简单的排序算法,它重复地遍历待排序的元素,比较相邻的两个元素,并将顺序不正确的元素交换位置,直到整个序列有序为止。冒泡排序的基本思想是将较大的元素逐渐“冒泡”到序列的末尾。
下面是冒泡排序的Python实现代码:
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - 1 - i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
我们定义了一个名为`bubble_sort`的函数,它接受一个待排序的数组作为参数。函数中的变量`n`表示数组的长度。
接下来,我们使用两个嵌套的循环来遍历数组。外层循环控制遍历的轮数,每一轮都会将当前最大的元素移动到末尾。内层循环用于比较相邻的两个元素,如果它们的顺序不正确,则交换它们的位置。
在每一轮的内层循环中,我们通过比较`arr[j]`和`arr[j + 1]`的大小来确定是否需要交换它们的位置。如果`arr[j]`大于`arr[j + 1]`,则交换它们的值。
我们返回排序后的数组。
例如,对于输入数组`[4, 2, 7, 1, 3]`,经过冒泡排序后,输出结果为`[1, 2, 3, 4, 7]`。在第一轮遍历中,4和2交换位置,数组变为`[2, 4, 7, 1, 3]`;接着,4和7不需要交换位置;1和3交换位置,数组变为`[2, 4, 1, 3, 7]`;2和4不需要交换位置。在第二轮遍历中,2和4不需要交换位置;1和3不需要交换位置;3和7不需要交换位置。数组已经有序。