用Python写一个冒泡排序
时间: 2023-08-31 17:44:18 浏览: 103
### 回答1:
这是一个简单的算法,可以用以下代码实现:
def bubble_sort(list):
# 冒泡排序
for i in range(len(list)):
for j in range(len(list)-i-1):
if list[j] > list[j+1]:
list[j], list[j+1] = list[j+1], list[j]
return list
# 测试
list = [5, 4, 3, 2, 1]
print(bubble_sort(list)) # [1, 2, 3, 4, 5]
### 回答2:
冒泡排序是一种基础的排序算法,可以使用Python语言来实现。下面是一个使用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
if __name__ == '__main__':
# 测试代码
arr = [64, 34, 25, 12, 22, 11, 90]
print("排序前的数组:", arr)
print("排序后的数组:", bubble_sort(arr))
```
以上代码中,`bubble_sort`函数实现了冒泡排序算法。在该函数中,通过两层嵌套的循环,对数组进行遍历,每次遍历都比较相邻的两个元素,并根据需要进行交换,使较大的元素逐渐“沉”到数组的末尾。通过多轮冒泡遍历,最终将数组排序完成。
在测试代码中,我们定义一个待排序的数组`arr`,然后调用`bubble_sort`函数对其进行排序,并打印排序前和排序后的数组结果。
以上是一个基于Python的冒泡排序的实现,可以根据实际需求进行调用和使用。
### 回答3:
冒泡排序是一种比较简单的排序算法,它通过多次遍历数组,将较大的元素逐步向后交换,从而将最大的数移动到数组的最后。下面是用Python编写的冒泡排序算法:
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-1-i):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
这个冒泡排序算法的实现很简单,首先定义一个变量n来表示数组的长度。然后使用两个嵌套的for循环,在每一次外部循环中进行多次内部循环遍历。内部循环中比较相邻的两个元素,如果前一个比后一个大,就交换它们的位置。经过一次外部循环后,最大的数就会被移动到数组的末尾。继续进行下一次的外部循环,直到数组中的所有元素都被排序好。
最后,返回排序好的数组。
例如,给定一个数组arr = [5, 3, 8, 2, 1],使用该冒泡排序算法进行排序,最终得到的结果为[1, 2, 3, 5, 8]。
阅读全文