python实现冒泡排序
时间: 2023-09-15 07:20:54 浏览: 30
冒泡排序是一种简单的排序算法,其基本思想是重复地走访过要排序的元素,比较相邻两个元素的大小,如果前一个元素比后一个元素大,则交换这两个元素的位置。重复进行这个过程,直到整个序列都有序为止。
以下是Python实现冒泡排序的示例代码:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 提前退出冒泡循环的标志位
flag = False
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
# 交换两个元素的位置
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# 表示有数据交换
flag = True
# 没有数据交换,提前退出
if not flag:
break
return arr
```
在这个实现中,我们使用了`range()`函数来遍历整个数组。外层循环用于控制需要比较的轮数,内层循环用于执行每一轮比较并交换操作。
当整个数组已经有序时,内层循环不再执行任何操作,此时我们可以通过一个标志位来提前退出外层循环,从而减少不必要的比较次数,提高算法效率。
相关问题
Python 实现 冒泡排序
冒泡排序是一种简单的排序算法,其思想是重复地遍历要排序的列表,一次比较两个元素,如果它们的顺序错误就交换它们的位置,直到没有任何一对数字需要交换为止。以下是 Python 实现冒泡排序的代码:
```
def bubble_sort(list):
n = len(list)
for i in range(n):
for j in range(0, n-i-1):
if list[j] > list[j+1] :
list[j], list[j+1] = list[j+1], list[j]
return list
```
这个函数接受一个列表作为输入,执行冒泡排序,并返回已排序的列表。
Python实现冒泡排序
冒泡排序是一种简单的排序算法,通过多次比较相邻元素并交换位置,使得列表中最大/小的元素逐渐浮到列表的最后/前。下面是Python实现的代码示例:
```
def bubble_sort(list):
for i in range(len(list) - 1):
for j in range(len(list) - 1 - i):
if list[j] > list[j + 1]:
list[j], list[j + 1] = list[j + 1], list[j]
return list
```
使用方法:
```
>>> list = [3, 4, 2, 1, 5]
>>> bubble_sort(list)
[1, 2, 3, 4, 5]
```