Python 完成冒泡算法实例
时间: 2023-08-31 20:36:05 浏览: 116
Python实现冒泡排序算法的完整实例
5星 · 资源好评率100%
### 回答1:
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] # 测试
arr = [64, 34, 25, 12, 22, 11, 90] bubbleSort(arr) print ("排序后的数组:")
for i in range(len(arr)):
print ("%d" %arr[i]),
### 回答2:
冒泡排序是一种简单而有效的排序算法,可以通过不断比较相邻元素并交换位置来将一个数组或列表按照顺序排列。
下面是使用Python语言实现冒泡算法的一个例子:
```python
def bubble_sort(arr):
n = len(arr) # 获取列表的长度
for i in range(n - 1): # 外层循环控制比较的轮数
for j in range(n - i - 1): # 内层循环控制每轮比较的次数
if arr[j] > arr[j + 1]: # 如果前一个元素大于后一个元素,则交换它们的位置
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
# 测试代码
arr = [5, 1, 4, 2, 8]
sorted_arr = bubble_sort(arr)
print(sorted_arr) # 输出结果为 [1, 2, 4, 5, 8]
```
以上代码实现了冒泡排序算法,首先通过外层循环控制比较的轮数,内层循环控制每轮比较的次数。每次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。经过多轮比较和交换,最终将列表按照升序排列。
### 回答3:
冒泡排序是一种简单的排序算法,通过比较和交换相邻元素来将最大的元素逐步“冒泡”到数列的末尾。以下是用Python实现冒泡算法的示例代码:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
# 测试示例
arr = [5, 2, 9, 1, 3]
sorted_arr = bubble_sort(arr)
print(sorted_arr)
```
上述代码中,`bubble_sort`函数接受一个列表作为参数,并通过两层嵌套的循环进行冒泡排序。外层的循环控制趟数,共需(n-1)趟,其中n为列表的长度;内层的循环用于比较相邻元素,并交换以实现排序的目的。如果某一趟中没有发生交换操作,则说明已经完成排序,并提前结束循环。
上述代码的输出结果是`[1, 2, 3, 5, 9]`,即按从小到大的顺序排列的输入列表。这个冒泡排序算法的时间复杂度为O(n^2),其中n为列表的长度。
阅读全文