public class QuanPaiLie { public static void main(String[] args) { QuanPaiLie quanPaiLie = new QuanPaiLie(); char [] data = {'1', '2', '3', '4'}; quanPaiLie.queue(data, 0, data.length); }
public void queue(char [] data, int from, int to) { if (from == to) { System.out.println(data); return; }
for (int i=from; i<to; i++) { swap(data, i, from); queue(data, from+1, to); swap(data, from, i); } }
private void swap(char [] data, int from, int to) { if (from != to) { char temp = data[from]; data[from] = data[to]; data[to] = temp; } } }
|