蓝桥杯常用算法之排列

//第一次写,望指正 java组





static char[] tag;


static char[] carr;


static boolean[] vis;


/**
* @param args
* @author hyman xiong
*/


public static void main(String[] args) {
// TODO Auto-generated method stub

tag = new char[] { 'a', 'b', 'c','d'};//target array
vis = new boolean[tag.length];// visit ?
carr = new char[3];//从tag(target数组)中取 3 个

pl(0);//从位置 0 开始
}


static void pl(int p) {
if (p == carr.length) {
// find
for (char ch : carr) {
System.out.print(ch);
}
System.out.println();
} else {
for (int i = 0; i < tag.length; i++) {
if (vis[i])
continue;
carr[p] = tag[i];
vis[i] = true;
pl(p + 1);
vis[i] = false;
}
}
}

你可能感兴趣的:(蓝桥杯,算法)