用python写一个冒泡排序
时间: 2024-03-13 16:17:28 浏览: 25
下面是一个用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
# 测试
arr = [64, 34, 25, 12, 22, 11, 90]
print("排序前的数组:", arr)
print("排序后的数组:", bubble_sort(arr))
```
输出:
```
排序前的数组: [64, 34, 25, 12, 22, 11, 90]
排序后的数组: [11, 12, 22, 25, 34, 64, 90]
```
在这个示例代码中,`bubble_sort()`函数接受一个列表作为输入参数,并返回一个排好序的列表。算法的实现过程如下:
1. 遍历整个数组,从第一个元素到倒数第二个元素。
2. 在每一轮遍历中,比较相邻的两个元素,如果前面的元素大于后面的元素,则交换它们的位置。
3. 重复以上步骤,直到所有元素都被排序。
时间复杂度为O(n^2),空间复杂度为O(1)。
相关问题
使用python写一个冒泡排序
以下是用 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("排序后的数组:")
print(arr)
```
运行该代码可以输出排序后的数组。冒泡排序是一种简单的排序算法,但是时间复杂度较高,不适合处理大规模数据。
用python 写一个冒泡排序
当然,我可以用Python写一个冒泡排序。这是一个简单但是效率较低的排序算法,可以用来练手和理解排序算法的基本思路。
以下是Python代码实现:
```python
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# Last i elements are already sorted
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]),
```
在这个代码中,我们定义了一个名为`bubble_sort()`的函数,它接受一个数组参数`arr`。`n`变量存储数组`arr`的长度。
然后,我们使用两个嵌套的for循环来遍历整个数组。在内部循环中,我们比较当前元素和下一个元素的值,如果当前元素比下一个元素大,我们交换它们。这样,每次内部循环结束时,数组中最大的元素将会被移到最后。
最后,我们使用一个for循环来输出排序后的数组。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)