这个程序使用插入排序递归排序列表... 有人可以让我明白'isort'是如何递归工作的,以及即使'isort'递归后'insert'如何运行,isort递归直到它已经完成了一次?python递归函数深度
def insertion(seq):
isort(seq,len(seq))
def isort(seq,k):
if k>1:
isort(seq,k-1)
insert(seq,k-1)
def insert(seq,k):
pos=k
while pos>0 and seq[pos]<seq[pos-1]:
(seq[pos],seq[pos-1])=(seq[pos-1],seq[pos])
pos=pos-1
不确定是否t他解释它,但相关:https://www.youtube.com/watch?v=ROALU379l3U –
嗯,这段代码确实是插入排序,但分配操作不必要地交换。 –
是它的不必要的,它只是一个递归的例子 –