用Python写一个简单的冒泡排序
时间: 2023-09-14 16:05:47 浏览: 71
### 回答1:
当然可以,以下是一个简单的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]
print("排序前的数组:", arr)
print("排序后的数组:", bubble_sort(arr))
```
输出结果为:
```
排序前的数组: [64, 34, 25, 12, 22, 11, 90]
排序后的数组: [11, 12, 22, 25, 34, 64, 90]
```
### 回答2:
冒泡排序是一种简单的排序算法,通过依次比较相邻的元素并交换位置来实现排序。以下是使用Python编写的一个简单的冒泡排序算法:
```python
def bubbleSort(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 = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = bubbleSort(arr)
print("排序后的数组:", sorted_arr)
```
在这段代码中,我们首先定义了一个名为`bubbleSort`的函数,它接受一个待排序的数组作为参数,并返回排序后的数组。
在主循环中,我们使用两个嵌套循环来遍历数组中的每个元素。外层循环将确定需要执行的元素比较和交换操作的次数。对于长度为n的数组,我们需要进行n-1次操作才能完成排序。
内层循环用于比较每对相邻的元素,并在它们的顺序错误时进行交换。如果当前元素比其后面的元素大,我们就交换它们的位置,以确保较大的元素被移到了正确的位置上。
最后,我们返回排序后的数组并进行测试。在上述示例中,待排序的数组为`[64, 34, 25, 12, 22, 11, 90]`,排序后的数组为`[11, 12, 22, 25, 34, 64, 90]`。
### 回答3:
冒泡排序是一种基本排序算法。它通过不断比较相邻元素的大小,并交换它们的位置,从而将数组或列表中的元素按照从小到大(或从大到小)排序。
下面是用Python编写的一个简单的冒泡排序算法:
def bubbleSort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n-1):
# 最后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]
# 测试例子
arr = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(arr)
print("排序后的数组:")
for i in range(len(arr)):
print("%d" %arr[i]),
运行结果:
排序后的数组:
11
12
22
25
34
64
90
以上代码中,我们定义了一个bubbleSort函数,它接受一个列表作为输入参数。通过两个嵌套的循环遍历列表的元素,比较相邻元素的大小,并根据需要交换它们的位置。外层循环确定了需要进行比较的轮数,内层循环遍历待排序部分的元素,并进行比较和交换操作。
在给定的测试例子中,我们将需要排序的数组作为函数的输入参数。运行结果输出了排序后的数组元素。
阅读全文