用python定义一个函数实现冒泡排序算法并进行测试。
时间: 2024-09-22 13:08:13 浏览: 27
当然可以。在Python中,我们可以定义一个名为`bubble_sort`的函数来实现冒泡排序算法。这是一个简单的比较排序算法,通过不断交换相邻未排序元素的位置,直到整个序列变得有序。
```python
def bubble_sort(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
# 测试冒泡排序
test_list = [64, 34, 25, 12, 22, 11, 90]
print("Original list:", test_list)
sorted_list = bubble_sort(test_list)
print("Sorted list:", sorted_list)
相关问题
定义一个函数冒泡排序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("%d" %arr[i])
```
上述代码中,我们首先定义了一个名为 `bubble_sort` 的函数,该函数接受一个数组参数 `arr`。接着,我们在函数内部使用两层循环,其中外层循环控制排序轮数,内层循环则负责相邻元素之间的比较和交换。在每轮排序结束后,我们都会将最大(或最小)的元素“沉”到数组的底端。
定义函数实现冒泡排序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[j1], arr[j]
return arr
```
这个函数接受一个列表作为输入,并返回一个排序后的列表。它使用嵌套的循环来比较相邻的元素并交换它们,直到整个列表都被排序。时间复杂度为O(n^2)。
--相关问题--:
1. Python中还有哪些常用的排序算法?
2. 如何在Python中使用sorted()函数进行排序?