python实现编一个函数,用选择法对n个元素进行排序,函数包含代表升序或降序的参数;在主程序调用该函数进行验证
时间: 2023-01-31 16:10:13 浏览: 137
Python实现选择排序
好的,这是用 Python 实现的选择排序函数:
```python
def selection_sort(nums, ascending=True):
"""
选择排序函数,默认升序排序
"""
n = len(nums)
for i in range(n - 1):
# 选择最小/大的元素的下标
min_idx = i
for j in range(i + 1, n):
if (ascending and nums[j] < nums[min_idx]) or (not ascending and nums[j] > nums[min_idx]):
min_idx = j
# 交换元素
nums[i], nums[min_idx] = nums[min_idx], nums[i]
return nums
# 使用方法
# 升序排序
sorted_nums = selection_sort([5, 2, 4, 1, 3])
# 降序排序
sorted_nums = selection_sort([5, 2, 4, 1, 3], ascending=False)
```
主程序调用这个函数的方法如下:
```python
# 使用升序排序
sorted_nums = selection_sort([5, 2, 4, 1, 3])
print(sorted_nums) # 输出:[1, 2, 3, 4, 5]
# 使用降序排序
sorted_nums = selection_sort([5, 2, 4, 1, 3], ascending=False)
print(sorted_nums) # 输出:[5, 4, 3, 2, 1]
```
希望这对你有帮助!
阅读全文