python 冒泡算法
时间: 2023-10-14 12:31:27 浏览: 41
冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,每次比较相邻两个元素,如果顺序错误就交换它们,直到没有再需要交换的元素。
以下是 Python 实现冒泡排序的代码:
```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()` 函数来实现冒泡排序。该函数接受一个数组作为参数,然后对其进行排序并返回排序后的数组。
在函数中,我们使用了两个嵌套的循环来遍历数组中的所有元素。外层循环从第一个元素开始,一直到最后一个元素;内层循环则从第一个元素开始,一直到倒数第二个元素。每次循环中,我们比较相邻的两个元素,如果它们的顺序不正确,则交换它们的位置。通过这样不断地比较和交换,最终就可以将整个数组按照升序排列。
例如,我们可以使用以下代码来测试上面的函数:
```python
arr = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = bubble_sort(arr)
print("排序后的数组:", sorted_arr)
```
输出结果为:
```
排序后的数组: [11, 12, 22, 25, 34, 64, 90]
```
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)