输入10个整数到一个数组中,用选择法对数组元素进行降序排序,并输出排序之后的数组数据,中间用空格隔开
时间: 2023-11-21 18:08:36 浏览: 46
下面是一个示例 Python 代码,实现了选择排序算法。你可以将输入数据放入一个数组中,然后调用这个函数来对数组进行降序排序:
```python
def selection_sort_descending(arr):
n = len(arr)
for i in range(n):
max_idx = i
for j in range(i+1, n):
if arr[j] > arr[max_idx]:
max_idx = j
arr[i], arr[max_idx] = arr[max_idx], arr[i]
# 示例输入数据
arr = [5, 2, 8, 3, 1, 6, 9, 7, 4, 0]
# 对数组进行降序排序
selection_sort_descending(arr)
# 输出排序后的数组
print("降序排序后的数组:", end="")
for i in range(len(arr)):
print(arr[i], end=" ")
```
这段代码的输出结果为:
```
降序排序后的数组:9 8 7 6 5 4 3 2 1 0
```
你可以将自己的输入数据替换示例输入数据来测试这段代码。
相关问题
输入n个整数(不超过100),存放到数组a中,按升序或降序排序并输出
可以使用冒泡排序、快速排序等算法对数组a进行排序,具体实现如下:
1. 冒泡排序
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就交换位置。
按升序排序的冒泡排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 冒泡排序
for i in range(n-1):
for j in range(n-i-1):
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print("升序排序结果:", a)
```
按降序排序的冒泡排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 冒泡排序
for i in range(n-1):
for j in range(n-i-1):
if a[j] < a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print("降序排序结果:", a)
```
2. 快速排序
快速排序是一种常用的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。
按升序排序的快速排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 快速排序
def quick_sort(a, left, right):
if left >= right:
return
i, j = left, right
pivot = a[left]
while i < j:
while i < j and a[j] >= pivot:
j -= 1
a[i] = a[j]
while i < j and a[i] <= pivot:
i += 1
a[j] = a[i]
a[i] = pivot
quick_sort(a, left, i-1)
quick_sort(a, i+1, right)
quick_sort(a, 0, n-1)
print("升序排序结果:", a)
```
按降序排序的快速排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 快速排序
def quick_sort(a, left, right):
if left >= right:
return
i, j = left, right
pivot = a[left]
while i < j:
while i < j and a[j] <= pivot:
j -= 1
a[i] = a[j]
while i < j and a[i] >= pivot:
i += 1
a[j] = a[i]
a[i] = pivot
quick_sort(a, left, i-1)
quick_sort(a, i+1, right)
quick_sort(a, 0, n-1)
print("降序排序结果:", a)
```
设计一个数组类arr,实现对数组a中的n个整数降序排序
好的,以下是一个简单的示例代码,实现对数组a中的n个整数降序排序:
```python
class arr:
def __init__(self, a):
self.a = a
def sort_desc(self):
self.a.sort(reverse=True)
return self.a
```
其中,我们定义了一个类 `arr`,它的构造函数接受一个数组 `a` 作为参数。然后,我们实现了一个方法 `sort_desc`,该方法使用 Python 的 `sort` 函数对数组进行降序排序,并返回排序后的数组。
你可以这样使用这个类:
```python
a = [3, 2, 1, 4, 5]
my_arr = arr(a)
sorted_arr = my_arr.sort_desc()
print(sorted_arr)
```
输出结果为 `[5, 4, 3, 2, 1]`。