以下是两个我觉得对我理解这个问题及算法帮助很大的两篇文章。
全排列java
全排列之JAVA实现
代码:
package s01;public class QuanPaiLie {public static void main(String[] args) {int[] a = {1,2,3,4};qpl(a,0,3);}static void qpl(int[] a,int begin,int end) {if(begin==end) {for(int i:a)System.out.print(i);System.out.println();}for(int i=begin;i<=end;i++) {int t = a[begin];a[begin] = a[i];a[i] = t;qpl(a,begin+1,end);int m = a[begin];a[begin] = a[i];a[i] = m;}}}