如何使用冒泡排序算法及可显示出算法的过程
时间: 2023-12-15 22:05:37 浏览: 32
冒泡排序是一种简单的排序算法,其基本思想是通过不断比较相邻的两个元素,将较大值向后移动,较小值向前移动,从而逐步将整个序列排序。
以下是使用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]
# 每次交换之后打印当前序列
print(arr)
return arr
# 测试
arr = [64, 34, 25, 12, 22, 11, 90]
print("原始序列:", arr)
sorted_arr = bubble_sort(arr)
print("排序后序列:", sorted_arr)
```
在上述代码中,我们定义了一个名为`bubble_sort`的函数,接受一个列表`arr`作为输入,返回一个排好序的列表。函数的主体是两个嵌套的`for`循环,其中外层循环控制排序的轮数,内层循环用于比较相邻元素并进行交换。每次交换之后,我们都打印一下当前的序列,以便观察排序的过程。
使用上述代码对输入序列`[64, 34, 25, 12, 22, 11, 90]`进行排序,输出结果为:
```
原始序列: [64, 34, 25, 12, 22, 11, 90]
[34, 64, 25, 12, 22, 11, 90]
[34, 25, 64, 12, 22, 11, 90]
[34, 25, 12, 64, 22, 11, 90]
[34, 25, 12, 22, 64, 11, 90]
[34, 25, 12, 22, 11, 64, 90]
[25, 34, 12, 22, 11, 64, 90]
[25, 12, 34, 22, 11, 64, 90]
[25, 12, 22, 34, 11, 64, 90]
[25, 12, 22, 11, 34, 64, 90]
[12, 25, 22, 11, 34, 64, 90]
[12, 22, 25, 11, 34, 64, 90]
[12, 22, 11, 25, 34, 64, 90]
[12, 11, 22, 25, 34, 64, 90]
[11, 12, 22, 25, 34, 64, 90]
排序后序列: [11, 12, 22, 25, 34, 64, 90]
```
可以看到,在排序过程中,列表中的元素不断交换位置,最终得到了一个有序的序列。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)