能不能用Python举例一个冒泡排序
时间: 2024-04-29 15:21:19 浏览: 61
当然可以,以下是一个用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
# 测试
arr = [64, 34, 25, 12, 22, 11, 90]
print(bubble_sort(arr))
```
输出结果为:
```
[11, 12, 22, 25, 34, 64, 90]
```
解释一下代码:
- `arr` 是要排序的数组。
- `n` 表示数组的长度。
- 外层循环 `for i in range(n)` 控制排序的次数,即把最大的数放到最后。
- 内层循环 `for j in range(0, n-i-1)` 执行每一轮排序,比较相邻的两个数,如果前面的数比后面的数大,则交换它们的位置。
- 最后返回排序好的数组。
相关问题
python冒泡排序举例
下面是一个 Python 冒泡排序的示例代码:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
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
if not swapped:
break
return arr
# 使用示例
arr = [64, 34, 25, 12, 22, 11, 90]
print("排序前:", arr)
arr = bubble_sort(arr)
print("排序后:", arr)
```
输出结果为:
```
排序前: [64, 34, 25, 12, 22, 11, 90]
排序后: [11, 12, 22, 25, 34, 64, 90]
```
这个例子中,我们定义了一个 `bubble_sort()` 函数,接收一个待排序的数组 `arr`,然后用冒泡排序算法对它进行排序。排序的过程中,我们使用了两个 `for` 循环,其中外层循环控制了排序的轮数,内层循环则用来执行每一轮的比较和交换操作。在内层循环中,我们使用了一个 `swapped` 标志来记录是否进行了交换操作,如果没有进行交换,说明数组已经有序,可以提前结束排序。最后,我们返回排序后的数组 `arr`。
给我举例一个冒泡排序法
的实现代码。
当然,很乐意为您提供一份冒泡排序法的实现代码。以下是一个基于 Python 的例子:
def bubbleSort(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]
sorted_arr = bubbleSort(arr)
print("Sorted array is:", sorted_arr)
阅读全文