请用Python编写一个冒泡排序算法,实现对数组的元素(1,5,2,3,4,8,0,7,9,6)进行从大到小排序
时间: 2023-09-24 20:09:36 浏览: 69
好的,以下是使用 Python 实现冒泡排序算法的代码:
```
arr = [1, 5, 2, 3, 4, 8, 0, 7, 9, 6]
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]
# 输出结果
print("排序后的数组为:", arr)
```
运行结果为:
```
排序后的数组为: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
```
说明已经按照从大到小的顺序排好序了。
相关问题
冒泡排序 编写一个冒泡排序算法,对一个无序的整数列表(数组)进行排序。
当然可以,以下是冒泡排序算法的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])
```
这个算法的时间复杂度为O(n^2),并且在每一轮循环中都会将当前未排序的最大值排到正确的位置,因此被称为冒泡排序。
编写一个排序函数,实现对数组元素由小到大排列。
好的,下面是一个简单的排序函数实现:
```python
def sort_array(arr):
n = len(arr)
for i in range(n):
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
```
其中,我们使用了冒泡排序算法,每次比较相邻的两个元素,如果前者大于后者,则交换它们的位置。这样,经过一轮比较后,最大的元素就会被排到数组的最后面,接下来我们再对剩下的元素重复同样的操作,最终就可以得到一个有序的数组。
你可以将待排序的数组作为参数传入 `sort_array` 函数中,函数会返回一个排好序的新数组。需要注意的是,该函数会修改原始数组,如果你不想改变原始数组,可以先将它复制一份再传入函数中。
阅读全文