Wednesday, 15 July 2015

java - Recursively print Binary subsets of an ArrayList -



java - Recursively print Binary subsets of an ArrayList -

so i've been wracking brain on while and, while code works, prints in absolute wrong order. sense i'm missing utilize pair of eyes.

void recursivebitpatterns(arraylist<string> subsets, int n) { if (n==1) { subsets.add("0"); subsets.add("1"); return; } recursivebitpatterns(subsets, n-1); int asize = subsets.size(); for(int i=0; i<asize; i++) { string nsub = subsets.get(i); subsets.set(i, nsub +"0"); subsets.add(nsub + "1"); } }

it seems setting sec element of arraylist 1 not overwriting in loop.

this prints:

000 100 010 110 001 101 011 111

any help appreciated

you code like.

void recursivebitpatterns(arraylist<string> subsets, int n) { if (n==1) { subsets.add("0"); subsets.add("1"); return; } recursivebitpatterns(subsets, n-1); int asize = subsets.size(); for(int i=0; i<asize; i++) { string nsub = subsets.get(i); subsets.set(i, "0" + nsub); subsets.add("1" + nsub); } }

this prints:

000 001 010 011 100 101 110 111

java recursion arraylist binary

No comments:

Post a Comment