冒泡排序
时间: 2023-07-10 16:18:01 浏览: 63
冒泡排序(Bubble Sort)是一种简单的排序算法,它的基本思想是通过相邻元素之间的比较和交换来把小的数交换到前面,大的数交换到后面,从而实现排序的目的。具体步骤如下:
1. 从数组的第一个元素开始,向后依次比较相邻的两个元素,如果前面的元素大于后面的元素,则交换它们的位置,否则不做任何操作。
2. 对于整个数组来说,重复以上步骤,直到最后一个元素,此时最后一个元素一定是整个数组中最大的元素。
3. 接着,对除了最后一个元素以外的部分重复以上步骤,直到整个数组排序完成。
下面是使用Python实现的冒泡排序算法示例:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
# 交换相邻的元素位置
arr[j], arr[j+1] = arr[j+1], arr[j]
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("排序后的数组:")
for i in range(len(arr)):
print("%d" % arr[i])
```
输出结果为:
```
排序后的数组:
11
12
22
25
34
64
90
```
冒泡排序的时间复杂度为$O(n^2)$,空间复杂度为$O(1)$。虽然它的实现简单,但是对于大规模数据的排序会比较慢,因此在实际应用中并不常用。