Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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
Java 递归,数组列表_Java_Recursion_Arraylist - Fatal编程技术网

Java 递归,数组列表

Java 递归,数组列表,java,recursion,arraylist,Java,Recursion,Arraylist,我的家庭作业是创建一个递归静态方法,该方法接收整数数组列表作为参数。 假设有值为0的元素,我想将其切换为5,值为1的元素被删除,值为2的元素被移动到末尾。其余的保持原样 我可以想出不用递归的方法,但是我如何用递归解决这个问题呢 谢谢。我觉得这根本不像是一个递归的问题。也就是说,如果您非常想这样做,那么可以考虑使用它作为一种人工构造递归案例的方法,从前面切掉元素,并使用空列表的基本案例。这根本不像是一个适合递归的问题。这就是说,如果您非常想这样做,那么可以通过从前面切掉元素,并使用空列表的基本大小

我的家庭作业是创建一个递归静态方法,该方法接收整数数组列表作为参数。 假设有值为0的元素,我想将其切换为5,值为1的元素被删除,值为2的元素被移动到末尾。其余的保持原样

我可以想出不用递归的方法,但是我如何用递归解决这个问题呢


谢谢。

我觉得这根本不像是一个递归的问题。也就是说,如果您非常想这样做,那么可以考虑使用它作为一种人工构造递归案例的方法,从前面切掉元素,并使用空列表的基本案例。

这根本不像是一个适合递归的问题。这就是说,如果您非常想这样做,那么可以通过从前面切掉元素,并使用空列表的基本大小写来人工构造递归大小写。

您的基本大小写是长度为1的列表,很容易处理

长度为2的列表(您知道最后1个元素已经被处理)只是稍微难处理一点

长度为N的列表应该是可管理的,您知道最后N-1个元素已被处理

因此,您可以做的是获取列表,将减去第一个元素的列表传递到下一个递归级别,然后当您得到处理过的子列表时,处理第一个元素


@Steven Schlansker是对的,但这并不是一个真正的递归友好任务。

基本情况是长度为1的列表,很容易处理

长度为2的列表(您知道最后1个元素已经被处理)只是稍微难处理一点

长度为N的列表应该是可管理的,您知道最后N-1个元素已被处理

因此,您可以做的是获取列表,将减去第一个元素的列表传递到下一个递归级别,然后当您得到处理过的子列表时,处理第一个元素


@Steven Schlansker是对的,但这并不是一个真正的递归友好任务。

最后不要忘记应用排序。你可以在开始之前做这些,但是在最后做这些会节省你一点时间,因为很可能元素会更少。在我看来,递归是这里的一项要求。@Andreas\u D:但这并不意味着你不能抱怨它!最后别忘了应用sort。你可以在开始之前做这些,但是在最后做这些会节省你一点时间,因为很可能元素会更少。在我看来,递归是这里的一项要求。@Andreas\u D:但这并不意味着你不能抱怨它!