用选择法对长度为n的数组进行从大到小排序
时间: 2024-05-03 17:17:57 浏览: 43
对一个数组进行选择排序
选择排序是一种简单的排序算法,其基本思想是每次从待排序元素中选择最小(或最大)的一个元素放在已排好序的数列的末尾,直到全部待排序的数据元素排完。
对于长度为n的数组,选择排序的实现过程如下:
1. 从数组中选择最大的元素,将其与数组中的最后一个元素交换位置;
2. 接着,在剩下的n-1个元素中选择最大的元素,将其与数组中的倒数第二个元素交换位置;
3. 重复上述步骤,直到只剩下一个元素为止。
具体的代码实现如下:
```python
def selection_sort(arr):
n = len(arr)
for i in range(n-1, 0, -1):
max_index = i
for j in range(i):
if arr[j] > arr[max_index]:
max_index = j
arr[i], arr[max_index] = arr[max_index], arr[i]
return arr
```
这里采用了从后往前的方式进行排序,每次找到剩余元素中的最大值,并将其与数组末尾的元素交换位置。时间复杂度为O(n^2),适合用于小规模数据的排序。
阅读全文