Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要递归插入排序帮助-Python_Python_Recursion_Insertion Sort - Fatal编程技术网

需要递归插入排序帮助-Python

需要递归插入排序帮助-Python,python,recursion,insertion-sort,Python,Recursion,Insertion Sort,我在这个问题上纠缠了很久了。我只是在学习如何编写代码,递归语句对我来说没有多大意义。在我的编程课上,有人告诉我做一个递归插入排序程序,我做了,但它不会被接受,因为我不知道函数在做什么,以及它是如何更改列表以便对其进行排序的。所以我有两个问题,我将用几乎完全相同的代码分别解决 关于我的代码,我的第一个问题是,如前所述,它是如何工作的 numList = [2,4,1,3,5] def insertionSort(i, numList): if i > 0: inser

我在这个问题上纠缠了很久了。我只是在学习如何编写代码,递归语句对我来说没有多大意义。在我的编程课上,有人告诉我做一个递归插入排序程序,我做了,但它不会被接受,因为我不知道函数在做什么,以及它是如何更改列表以便对其进行排序的。所以我有两个问题,我将用几乎完全相同的代码分别解决

关于我的代码,我的第一个问题是,如前所述,它是如何工作的

numList = [2,4,1,3,5]
def insertionSort(i, numList):
    if i > 0:
        insertionSort(i-1, numList)
        if numList[i] < numList[i-1]:
            numList[i], numList[i-1] = numList[i-1],numList[i]
            insertionSort(i-1, numList)


insertionSort(4,numList)
print(numList)
numList=[2,4,1,3,5]
def insertionSort(i,numList):
如果i>0:
插入端口(i-1,numList)
如果numList[i]
我调用了两次这个函数,我不知道为什么会这样。我认为在if语句之前调用函数会使它工作,但它不会

这就引出了我的另一个问题。 如何生成此代码:

numList = [2,4,1,3,5]
def insertionSort(i, numList):
    if i > 0:
        insertionSort(i-1, numList)
        if numList[i] < numList[i-1]:
            numList[i], numList[i-1] = numList[i-1],numList[i]



insertionSort(4,numList)
print(numList)
numList=[2,4,1,3,5]
def insertionSort(i,numList):
如果i>0:
插入端口(i-1,numList)
如果numList[i]
工作

我的教授说代码基本上是存在的,但是为了使它正常工作,我需要修改或添加一些东西


谢谢。

我觉得这更像是算法,更倾向于计算机科学理论,而不是编程。请尝试计算机科学堆栈交换。交叉发布在CS.SE:。这违反了网站规则@MalikBrahimi,如果您打算推荐另一个StackExchange站点,请确保提及不要交叉发布,并建议他们可以单击“标记”标记该站点以引起版主注意,并要求版主迁移该站点。(另外:注意你的网站推荐,所以这个问题不适合当前形式的CS.SE。)@MalikBrahimi这是关于调试一个程序的,所以它是离题的,但也可以。