全排列
Posted wanlifeipeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全排列相关的知识,希望对你有一定的参考价值。
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中排列
以上是关于全排列的主要内容,如果未能解决你的问题,请参考以下文章
html 将以编程方式附加外部脚本文件的javascript代码片段,并按顺序排列。用于响应式网站,其中ma
蓝桥杯 三行代码解决 “全排列的价值”(2022省赛pythonA组)
蓝桥杯 三行代码解决 “全排列的价值”(2022省赛pythonA组)