public class Permutation {
public static void permulation(int[] list, int start, int length) {
int i;
if (start == length) {//交换到最后一个数之后,start+1会等于length,这时输出list
for (i = 0; i < length; i++)
System.out.print(list[i] + " ");
System.out.println();
} else {
//!!递归
for (i = start; i < length; i++) {
swap(list, start, i);
permulation(list, start + 1, length);
swap(list, start, i);//每轮递归结束负责把list调成原来的样子再继续递归
}
}
}
//交换list中指定位置的元素
public static void swap(int[] list, int start, int i) {
int temp;
temp = list[start];
list[start] = list[i];
list[i] = temp;
}
public static void main(String[] args) {
int length = 3;
int start =
全排列算法(无重复元素时) --Java
最新推荐文章于 2022-05-21 01:41:49 发布