首页 > 代码库 > 全排列
全排列
Java版代码:
public class Permutations { public static void main(String[] args) { String s = "abcd"; permutations(s); } // 全排列 public static void permutations(String s) { char[] arr = s.toCharArray(); int[] cnt = new int[1]; _permutations(arr, 0, cnt); System.out.println("共有" + cnt[0] + "中排列"); } // cnt 用来统计排列的个数 private static void _permutations(char[] arr, int start, int[] cnt) { if (start == arr.length - 1) { cnt[0]++; System.out.println(arr); } char tmp; for (int i = start; i < arr.length; ++i) { tmp = arr[start]; arr[start] = arr[i]; arr[i] = tmp; _permutations(arr, start + 1, cnt); tmp = arr[start]; arr[start] = arr[i]; arr[i] = tmp; } } }
效果:
abcd
abdc
acbd
acdb
adcb
adbc
bacd
badc
bcad
bcda
bdca
bdac
cbad
cbda
cabd
cadb
cdab
cdba
dbca
dbac
dcba
dcab
dacb
dabc
共有24中排列
全排列
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。