本帖最后由 许智敏 于 2013-5-15 16:07 编辑
- /*
- * 给定一个数组或串,求他的全排列的方法。
- * 比如 1 2 3 4 5 的全排列,
- * 数组中的每个元素只能出现一次的全排列。
- */
- package summary;
- public class 全排列 {
- public static void main(String[] args){
- int[] arr = {1,2,3,4,5};
- paiLie(arr,0,arr.length-1);
- }
- public static void paiLie(int[] arr,int start,int end){
- if(start>=end){
- for(int x : arr)
- System.out.print(x+",");
- System.out.println();
- return;
- }
- else{
- for(int i=start;i<=end;i++){
- int temp = arr[start];
- arr[start] = arr[i];
- arr[i] = temp;
-
- paiLie(arr,start+1,end);
-
- temp = arr[start];
- arr[start] = arr[i];
- arr[i] = temp;
- }
- }
-
- }
- }
复制代码 |
|