public void generateBitStrings(int[] bitArr, List <int[]> bitStringsArr, int i) { if (i == bitArr.Length) { bitStringsArr.Add(ArrayHelperClass <int> .copy1DArray(bitArr)); } else { bitArr[i] = 1; generateBitStrings(bitArr, bitStringsArr, i + 1); bitArr[i] = 0; generateBitStrings(bitArr, bitStringsArr, i + 1); } }
public void permutations(int[] arr, List <int[]> permutationList, int l, int r) { if (l == r) { int[] currentPermutation = ArrayHelperClass <int> .copy1DArray(arr); permutationList.Add(currentPermutation); } else { for (int i = l; i < r; i++) { ArrayHelperClass <int> .swapElements(arr, i, l); permutations(arr, permutationList, l + 1, r); ArrayHelperClass <int> .swapElements(arr, i, l); } } }