排列
从给定个数的元素中取出指定个数的元素进行排序。
计算公式:规定 0!=1
组合
从给定个数的元素中,仅仅取出指定个数的元素,不考虑排序。
例题1:一道蓝桥杯题目
A(7,5)=2520
例题2:排列的题目
4种颜色按不同颜色,进行排列,有多少种排列方法,如果是6种颜色呢。从6种颜色中取出4种进行排列呢?
例题3:组合的题目
从4种颜色中,取出2种颜色,能形成多少种组合?
例题4:排队问题
六人按下列要求站一横排,分别有多少种不同的站法? (1)甲不站两端; (2)甲、乙必须相邻; (3)甲、乙不相邻; (4)甲、乙之间间隔两人; (5)甲、乙站在两端; (6)甲不站左端,乙不站右端.
例题5:全排列
public class Main {
public static void permutation(char[]ss,int i){
if(ss==null||i<0 ||i>=ss.length){//进行判空校验和验证下标不越界
return;
}
if(i==ss.length-1){//2
System.out.println(new String(ss));
}else{
for(int j=i;j<ss.length;j++){//3
char temp=ss[j];//交换前缀,使之产生下一个前缀
ss[j]=ss[i];
ss[i]=temp;
permutation(ss,i+1);//4
temp=ss[j]; //将前缀换回来,继续做上一个的前缀排列.//5
ss[j]=ss[i];
ss[i]=temp;
}
}
}
public static void main(String args[]){
permutation(new char[]{'1','2','3'},0);
}
}