编写函数,模拟Python内置函数sorted()
时间: 2023-11-10 16:08:17 浏览: 125
python小程序 模拟python sorted()函数
可以使用冒泡排序或快速排序算法来实现一个模拟Python内置函数sorted()的函数,以下是使用快速排序算法的示例代码:
```python
def my_sorted(iterable, reverse=False):
# 如果只有一个元素,直接返回
if len(iterable) <= 1:
return iterable
# 选择一个基准数,将小于基准数的放在左边,大于基准数的放在右边
pivot = iterable[0]
left = [x for x in iterable[1:] if x <= pivot]
right = [x for x in iterable[1:] if x > pivot]
# 递归调用,对左右两个列表进行排序
left_sorted = my_sorted(left, reverse=reverse)
right_sorted = my_sorted(right, reverse=reverse)
# 将左边排序后的列表、基准数、右边排序后的列表合并起来
if reverse:
return right_sorted + [pivot] + left_sorted
else:
return left_sorted + [pivot] + right_sorted
```
这个函数接受一个可迭代对象和一个布尔值reverse,如果reverse为True,则按照降序排序;否则按升序排序。函数的返回值是排序后的列表。
阅读全文