目标:在不使用内置函数的情况下以函数方式对序列进行排序sorted(..)
。
def my_sorted(seq):
"""returns an iterator"""
pass
动机:在 FP 方式中,我受到限制:
- 从不变异
seq
(可以是迭代器或已实现的列表) - 暗示,没有就地排序。
问题 1由于我不能 mutate seq
,我需要维护一个单独的可变数据结构来存储排序后的序列。与 in-place 相比,这似乎很浪费list.sort()
。其他函数式编程语言如何处理这个问题?
问题 2如果我返回一个可变序列,在功能范式中可以吗?