python写冒泡排序
时间: 2023-09-22 20:05:04 浏览: 57
以下是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], end=" ")
```
输出结果:
```
排序后的数组:
11 12 22 25 34 64 90
```
在上述代码中,我们首先定义了一个bubble_sort()函数,该函数输入一个列表arr并对其进行冒泡排序。我们使用两个for循环来实现冒泡排序,其中第一个循环从0到n-1进行迭代,表示我们需要执行n次冒泡排序。第二个循环从0到n-i-1进行迭代,表示我们只需要比较未排序部分的元素。在每一次迭代中,我们比较相邻的元素,如果顺序不正确,则交换它们的位置。在排序完成后,我们使用for循环来打印排序后的数组。
相关问题
Python写冒泡排序
当然,下面是 Python 冒泡排序的代码:
```python
def bubble_sort(lst):
n = len(lst)
for i in range(n - 1):
for j in range(n - i - 1):
if lst[j] > lst[j + 1]:
lst[j], lst[j + 1] = lst[j + 1], lst[j]
return lst
```
请问,还有什么其他需要我解答的问题吗?
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]),
```
输出结果:
```
排序后的数组:
11
12
22
25
34
64
90
```
这是一个基本的冒泡排序算法,其时间复杂度为 O(n^2)。如果是大规模数据排序,建议使用其他更优化的算法。
阅读全文