python - 使用递归而不是python中的循环将列表a按值升序排序
问题描述
python - 如何使用递归而不是python中的循环按值对列表进行升序排序?例如,将 [2,0,1] 排序为 [0,1,2]。
def sort(a):
pos = 0
if pos == 0 or a[pos] >= a[pos - 1]:
pos += 1
return sort(a)
else:
a[pos], a[pos-1] = a[pos-1], a[pos]
pos -= 1
return sort(a)
这是我写的,我知道它不起作用,因为 pos 一开始总是等于 0。我该如何解决?
我测试下面的代码。 在此处输入图像描述
解决方案
推荐阅读
- saltedhash - 散列密码时在哪里获得盐?
- r - 在ggplot条形图中更改颜色
- python - “TypeError:'int'类型的对象没有len()”在python中是什么意思?
- swift - 自动登录用户 - Swift Firebase
- r - 如何提取在一个字符之后和 R 中另一个字符最后一次出现之前发生的所有内容?
- qliksense - Qlik Sense Extension - 获取变量值
- r - 尝试使用 ggplot 主题时出现“只能合并同一类的元素”错误
- weka - 在 Weka 中仅输出问号
- javascript - React Hooks 状态没有更新为正确的输出
- c# - 将 Razor 字段对象引用到因子 C# (MS-MVC 5)