把数组从大到小排序
时间: 2023-09-11 22:11:21 浏览: 88
可以使用冒泡排序或快速排序等算法来实现将数组从大到小排序。
以下是冒泡排序的示例代码:
```python
def bubbleSort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后 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], end=" ")
```
输出结果为:
```
排序后的数组:
90 64 34 25 22 12 11
```
快速排序的示例代码如下:
```python
def quickSort(arr, low, high):
if low < high:
# 分区操作
pi = partition(arr, low, high)
# 对分区排序
quickSort(arr, low, pi-1)
quickSort(arr, pi+1, high)
def partition(arr, low, high):
i = (low-1) # 最小元素索引
pivot = arr[high] # 设定基准值
for j in range(low, high):
# 如果当前元素小于或等于基准值,则将其交换到最小元素索引处
if arr[j] >= pivot:
i = i+1
arr[i], arr[j] = arr[j], arr[i]
# 将基准值交换到第一个大于它的元素处
arr[i+1], arr[high] = arr[high], arr[i+1]
return (i+1)
# 示例
arr = [64, 34, 25, 12, 22, 11, 90]
n = len(arr)
quickSort(arr, 0, n-1)
print("排序后的数组:")
for i in range(n):
print("%d" %arr[i], end=" ")
```
输出结果为:
```
排序后的数组:
90 64 34 25 22 12 11
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)