Python 写个冒泡排序
时间: 2023-10-14 11:14:22 浏览: 50
好的,下面是 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]),
```
输出结果:
```
排序后的数组:
11
12
22
25
34
64
90
```
这里定义了一个 `bubble_sort` 函数,接受一个数组 `arr` 作为输入,对其进行冒泡排序。具体实现是,从数组的第一个元素开始,依次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。经过一轮比较后,最大的元素就会被交换到数组的最后一个位置。然后再从第一个元素开始进行下一轮比较,直到所有的元素都被排序好。
相关问题
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]
return arr
```
其中,冒泡排序的基本思路是:比较相邻的元素,如果第一个比第二个大,就交换它们两个。对每一对相邻元素做同样的工作,从开始的第一对到结尾的最后一对。在这一点,最后的元素应该是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
python写个冒泡排序
以下是 Python 冒泡排序的实现:
```python
def bubble_sort(array):
n = len(array)
# 遍历所有数组元素
for i in range(n):
# 最后 i 个元素已经排好序,不需要再比较
for j in range(0, n-i-1):
# 如果前一个元素大于后一个元素,则交换它们的位置
if array[j] > array[j+1]:
array[j], array[j+1] = array[j+1], array[j]
return array
```
首先,我们定义了一个 `bubble_sort()` 函数,它接受一个数组作为参数。然后,我们使用 `len()` 函数获取数组的长度 `n`。
在第一个循环中,我们遍历所有的数组元素。在第二个循环中,我们从第一个元素开始比较相邻的元素。如果前一个元素大于后一个元素,则交换它们的位置。这样,一次遍历之后,最大的元素就会被移动到数组的末尾。
然后,我们继续遍历剩余的元素,每次都将最大的元素放在正确的位置上。最终,我们得到了一个已经排好序的数组,我们返回它。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)