注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
- https://www.geeksforgeeks.org/write-a-c-program-to-print-all-permutations-of-a-given-string/
- [color=rgba(0, 0, 0, 0.843137)][size=0.99em]/*
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] * permutation function
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] * @param str string to calculate permutation for
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] * @param l starting index
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] * @param r end index
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] */
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] private void permute(String str, int l, int r)
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] {
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] if (l == r)
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] System.out.println(str);
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] else
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] {
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] for (int i = l; i <= r; i++)
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] {
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] str = swap(str,l,i);
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] permute(str, l+1, r); // 这个地方为什么是l + 1, 而不是i + 1?
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] str = swap(str,l,i);
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] }
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] }
[color=rgba(0, 0, 0, 0.843137)][size=0.99em] }
[size=13.7214px]谢谢
[size=13.7214px]
|