输入正整数n,再输入n个整数,将他们从大到小排序输出
时间: 2024-12-19 17:13:55 浏览: 5
当你需要对一组正整数按照从大到小的顺序进行排序时,可以采用多种算法来实现,如冒泡排序、选择排序、快速排序等。这里以常见的快速排序为例来讲解:
1. **快速排序**是一种分而治之的排序算法,它的工作原理是选取一个基准值(通常取第一个或最后一个元素),然后将数组分为两个部分:一部分所有元素都小于基准,另一部分所有元素都大于等于基准。然后递归地对这两部分进行同样的操作。
```python
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[0] # 基准值
greater = [x for x in arr[1:] if x > pivot]
less = [x for x in arr[1:] if x <= pivot]
return quicksort(greater) + [pivot] + quicksort(less)
n = int(input("请输入正整数n: "))
numbers = list(map(int, input(f"请输入{n}个整数, 用空格隔开: ").split()))
sorted_numbers = quicksort(numbers)
print("从大到小排序后的结果:", sorted_numbers)
```
相关问题
输入一个正整数n,再输入n个整数,将他们从大到小排序后输出
以下是Python代码实现:
```python
n = int(input())
lst = list(map(int, input().split()))
lst.sort(reverse=True)
for num in lst:
print(num, end=" ")
```
首先,我们输入一个正整数n,代表接下来要输入的整数个数。然后,我们使用`input().split()`输入n个整数,并将其转换成列表`lst`。接着,我们使用`lst.sort(reverse=True)`将列表中的元素从大到小排序。最后,我们使用`for`循环遍历排序后的列表,依次输出每个元素。由于题目要求用空格分隔每个数字,因此我们在输出时使用`end=" "`指定输出分隔符为空格。
输入一个正整数n,再输入n个整数,将他们从大到小排序后输出
以下是 Python 代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
nums.sort(reverse=True)
for num in nums:
print(num, end=' ')
```
输入示例:
```
5
3 1 4 1 5
```
输出示例:
```
5 4 3 1 1
```
阅读全文