用Python 写一个冒泡排序
时间: 2023-08-31 20:22:17 浏览: 147
### 回答1:
好的,下面是一个用 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
# 测试代码
list = [64, 34, 25, 12, 22, 11, 90]
print("排序前的数组:", list)
bubble_sort(list)
print("排序后的数组:", list)
```
该代码实现了冒泡排序算法,它比较相邻的元素,如果第一个比第二个大,则交换它们。它重复这个过程,直到列表有序。
### 回答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, 2, 8, 3, 1]
sorted_arr = bubble_sort(arr)
print(sorted_arr)
```
在上述代码中,`bubble_sort`函数接受一个未排序的数组作为参数,并返回一个经过排序的数组。内层循环比较相邻元素的大小,如果前面的元素大于后面的元素,则进行交换。外层循环则控制比较的次数。
上述代码的输出将是`[1, 2, 3, 5, 8]`,即按升序排列的数组。
冒泡排序算法的时间复杂度为O(n^2),其中n是数组的长度。这是一种比较简单但效率较低的排序算法,适用于小规模的数据排序。
### 回答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]
return arr
# 示例调用代码
arr = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = bubble_sort(arr)
print("排序后的数组:", sorted_arr)
```
在上述代码中,定义了一个`bubble_sort`函数来实现冒泡排序。首先,获取需要排序的数组的长度,然后使用两层循环来遍历数组。外层循环控制趟数,内层循环用于比较相邻元素并进行交换,将较大的元素移动到后面。最终返回排序后的数组。
对于示例调用代码,原始数组为 `[64, 34, 25, 12, 22, 11, 90]`,经过冒泡排序后,数组变为 `[11, 12, 22, 25, 34, 64, 90]`,输出结果则为"排序后的数组: [11, 12, 22, 25, 34, 64, 90]"。
阅读全文