Java List Permutate permute(List list, int index, List> result)

Here you can find the source of permute(List list, int index, List> result)

Description

Recursively creates permutations.

License

Apache License

Declaration

private static <T> void permute(List<T> list, int index, List<List<T>> result) 

Method Source Code

//package com.java2s;
/*-------------------------------------------------------------------------+
|                                                                          |
| Copyright 2005-2011 The ConQAT Project                                   |
|                                                                          |
| Licensed under the Apache License, Version 2.0 (the "License");          |
| you may not use this file except in compliance with the License.         |
| You may obtain a copy of the License at                                  |
|                                                                          |
|    http://www.apache.org/licenses/LICENSE-2.0                            |
|                                                                          |
| Unless required by applicable law or agreed to in writing, software      |
| distributed under the License is distributed on an "AS IS" BASIS,        |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and      |
| limitations under the License.                                           |
+-------------------------------------------------------------------------*/

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

public class Main {
    /** Recursively creates permutations. */
    private static <T> void permute(List<T> list, int index, List<List<T>> result) {
        for (int i = index; i < list.size(); i++) {
            Collections.swap(list, i, index);
            permute(list, index + 1, result);
            Collections.swap(list, index, i);
        }/*w ww .j  av  a  2  s  . c o  m*/
        if (index == list.size() - 1) {
            result.add(new ArrayList<T>(list));
        }
    }
}

Related

  1. permutations(List listings)
  2. permutations(Map> parameterValues)
  3. permute(List s1, List s2)
  4. permute(List arr)
  5. permute(List list1)
  6. permute(T[] arr, List p)
  7. permutedGroups(List> elementLists)
  8. permuteList(List list, int[] permutations)
  9. permuteList(List in, int seed)