用python写一个冒泡的程序
时间: 2023-10-11 19:07:03 浏览: 73
以下是用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
# 示例
arr = [64, 34, 25, 12, 22, 11, 90]
print(bubble_sort(arr))
```
输出结果:
```
[11, 12, 22, 25, 34, 64, 90]
```
解释:
- 冒泡排序通过重复遍历数组,每次比较相邻的两个元素,如果顺序不对则交换它们的位置,最终实现整个数组的排序。
- 代码中的 `bubble_sort` 函数接收一个列表参数 `arr`,表示要排序的数组。
- 首先获取数组长度 `n`,然后使用两个嵌套的循环遍历数组。
- 外层循环 `i` 表示需要进行多少轮比较,因为每一轮都会将当前未排序部分的最大值放到最后。
- 内层循环 `j` 从第一位开始,每次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。
- 最后返回排序好的数组。
相关问题
用Python写一个冒泡程序
好的,以下是用 Python 实现的冒泡排序程序:
```
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 设定一个标记,若为True,则表示此次循环没有进行交换,也就是待排序列已经有序,排序已经完成。
swapped = False
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
swapped = True
# 如果标记为False,说明排序已经完成
if not swapped:
break
return arr
# 测试数组
arr = [64, 34, 25, 12, 22, 11, 90]
print("排序前:", arr)
bubble_sort(arr)
print("排序后:", arr)
```
这是一个最基本的冒泡排序程序。它通过比较相邻元素的大小,不断交换位置,使得序列中的最大元素逐渐“浮”到最后面。
用python写一个冒泡程序
好的,下面是一个冒泡排序的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
# 测试
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]
```
以上是一个简单的冒泡排序程序。
阅读全文
相关推荐








