冒泡(Bubble)是一种常见的排序算法,它通过重复地遍历待排序序列,比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历序列的工作是重复地进行直到没有再需要交换,也就是说该序列已经排序完成。
冒泡排序的基本步骤如下:
1. 从第一个元素开始,依次比较相邻的两个元素,如果前一个元素大于后一个元素,就将它们交换位置。
2. 经过一轮比较后,序列中最大的元素会被交换到最后一个位置。然后对序列中剩余的(未排序的)元素重复执行步骤1。
3. 继续重复步骤1和2,直到整个序列被排序。
需要注意的是,冒泡排序的时间复杂度为O(n^2),在处理大规模数据时效率较低。但是,对于小规模数据,冒泡排序的性能表现尚可。此外,冒泡排序具有稳定性,即相同元素的相对位置在排序过程中不会发生变化。
以下是一个冒泡排序的示例:
```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], end=" ")
```
执行以上代码,输出结果为:
```
排序后的数组:
11 12 22 25 34 64 90
```
07-19
314
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)