Difference between revisions of "Tail Recursion Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
Line 5: Line 5:
 
<nowiki>public static <E> ImmutableList<E> reverse(ImmutableList<E> original)</nowiki>
 
<nowiki>public static <E> ImmutableList<E> reverse(ImmutableList<E> original)</nowiki>
  
You will want to build a [https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html private] [https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html static] helper method which is tail recursive.
+
You will want to build a [https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html private] [https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html static] helper method which is tail recursive for <code>reverse</code> to invoke.
  
 
=Test=
 
=Test=
 
{{TestSuite|ReverseTestSuite|tail.assignment}}
 
{{TestSuite|ReverseTestSuite|tail.assignment}}

Revision as of 06:30, 1 October 2020

Code To Implement

Reverse

class: Reverse.java Java.png
methods: reverse
package: tail.assignment
source folder: src/main/java

public static <E> ImmutableList<E> reverse(ImmutableList<E> original)

You will want to build a private static helper method which is tail recursive for reverse to invoke.

Test

class: ReverseTestSuite.java Junit.png
package: tail.assignment
source folder: src/test/java