用Python 写一个冒泡排序
时间: 2023-09-21 16:05:57 浏览: 95
### 回答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):
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`函数接受一个未排序的数组作为参数,并返回一个已排序的数组。在每一次外层循环中,内层循环从第一个元素开始比较相邻元素的大小,并根据需要进行交换。这样通过多次迭代,最大的元素会被“冒泡”到数组的末尾。
### 回答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]
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("排序后的数组:")
for i in range(len(arr)):
print(arr[i])
```
在这段代码中,我们首先定义了一个名为`bubble_sort`的函数,该函数接受一个列表作为参数。我们通过`len(arr)`获取列表的长度,用于循环遍历整个列表。
接下来,我们使用两个嵌套的`for`循环来实现排序。外层循环`i`用于控制每一轮比较的次数,它从0到n-1(n为列表长度)遍历。内层循环`j`用于比较相邻元素的大小。
通过比较相邻元素,如果前一个元素比后一个元素大,则交换它们的位置。这样,每一轮循环都会将当前未排序部分的最大元素移到正确的位置。内层循环结束后,最大元素已经位于列表的末尾。
最后,我们通过使用一个简单的`for`循环打印排序后的列表中的元素,以验证排序的结果。
运行这段代码后,输出结果为:
```
排序后的数组:
11
12
22
25
34
64
90
```
这样,我们就成功地使用Python实现了冒泡排序算法。
阅读全文