<gouthampradhan>backtracking_Combinations_1.java
private void getNext(int i, int count, int n, int k, int[] subArr, List<List<Integer>> result) {
    if (k == 0) {
      List<Integer> subList = new ArrayList<>();
      for (int a : subArr) subList.add(a);
      result.add(subList);
    } else {
      for (int j = i + 1; j <= n; j++) {
        subArr[count] = j;
        getNext(j, count + 1, n, k - 1, subArr, result);
      }
    }
  }
private void sample_funcname ( int i , int count , int n , int k , int [ ] subArr , List < List < Integer >> result ) {
  if ( k == 0 ) {
    List < Integer > subList = new ArrayList < > ( ) ;
    for ( int a : subArr ) subList . add ( a ) ;
    result . add ( subList ) ;
  }
  else {
    for ( int j = i + 1 ;
    j <= n ;
    j ++ ) {
      subArr [ count ] = j ;
      getNext ( j , count + 1 , n , k - 1 , subArr , result ) ;
    }
  }
}
