3
\$\begingroup\$

I have this code:

public class RecurLoopTest {

    public static void main(String[] args) {

     printit(2);    

    }

    private static int printit(int n){

        if(n>0){
            printit(--n);
        }

      System.out.print(n+",");

      return n;
   }
}

I have drawn a execution flow/memory flow diagram for above program. Is this diagram correct or do I need some changes to make it correct?

What I have drawn looks like this:

enter image description here

Link to edit diagram

Link to view diagram

\$\endgroup\$
1
  • \$\begingroup\$ Wow, this diagram visually clearly communicates your recursive algorithm: illustrated call-stack plus count-down iterator-parameterđź‘Ť \$\endgroup\$
    – hc_dev
    May 8, 2021 at 12:29

1 Answer 1

2
\$\begingroup\$

It would be better to add the method arguments in the diagram, for example:

printit(0) -- n=0, prints "0,", returns 0
printit(1) -- n=1, prints "0,", returns 0
printit(2) -- n=2, prints "1,", returns 1
main()

I don't think you need 4 drawings side by side for this, just one like this would be clear enough already.

\$\endgroup\$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.