用python写一段冒泡排序的算例
时间: 2023-09-22 13:05:47 浏览: 113
### 回答1:
这是一段Python的冒泡排序算法:def bubble_sort(list):
# 获取列表的长度
length = len(list)
# 外层循环控制排序趟数
for i in range(length-1):
# 内层循环控制每趟排序多少次
for j in range(length-i-1):
if list[j] > list[j+1]:
list[j], list[j+1] = list[j+1], list[j]
return list
list = [3,4,2,8,9,5,7]
print(bubble_sort(list))
### 回答2:
冒泡排序是一种基本的排序算法,它通过比较和交换相邻元素的方式将最大的数值逐渐“冒泡”到数列的末尾。以下是使用Python编写的冒泡排序算例:
```python
def bubble_sort(array):
n = len(array)
for i in range(n-1):
# 每次迭代,确定一个最大元素的位置
for j in range(n-i-1):
# 如果前面的元素比后面的元素大,则交换它们的位置
if array[j] > array[j+1]:
array[j], array[j+1] = array[j+1], array[j]
return array
# 测试算例
array = [4, 2, 7, 1, 9, 5]
result = bubble_sort(array)
print(result)
```
运行结果为:[1, 2, 4, 5, 7, 9]。该算法首先比较相邻的两个元素,如果前面的元素比后面的元素大,则交换它们的位置,每次迭代确定一个最大元素的位置。重复这个过程,直到整个数列有序。以上算例演示了冒泡排序算法的实现过程,对于任意数组都可以进行排序,时间复杂度为O(n^2)。
### 回答3:
冒泡排序是一种简单的排序算法,其基本思想是比较相邻的两个元素,如果它们的顺序错误,则交换位置,直到序列完全有序为止。以下是使用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("排序后的数组:")
for i in range(len(arr)):
print(arr[i])
```
在这个例子中,我们定义了一个名为`bubble_sort`的函数,它接受一个待排序的数组作为输入。在函数内部,我们使用两个嵌套的`for`循环来遍历数组,并比较相邻元素的大小。如果当前元素大于下一个元素,则交换它们的位置。
测试算法时,我们定义了一个待排序的数组`arr`,然后调用`bubble_sort`函数对其进行排序。最后,我们遍历排序后的数组并打印出来,以验证算法的正确性。
对于输入的例子,冒泡排序的执行步骤如下:
1. 第一次遍历:比较并交换 64 和 34,然后比较 64 和 25,继续比较 64 和 12,再比较 64 和 22,最后比较 64 和 11,未发生交换。
2. 第二次遍历:比较并交换 34 和 25,然后比较 34 和 12,继续比较 34 和 22,最后比较 34 和 11,未发生交换。
3. 第三次遍历:比较并交换 25 和 12,继续比较 25 和 22,最后比较 25 和 11,未发生交换。
4. 第四次遍历:比较并交换 12 和 22,最后比较 22 和 11,未发生交换。
5. 第五次遍历:比较并交换 12 和 11,发生交换。
最终的排序结果为:[11, 12, 22, 25, 34, 64, 90]
阅读全文