字符串的全排列问题
来源:互联网 发布:从事数据分析看什么书 编辑:程序博客网 时间:2024/05/30 19:33
题目:输入一个字符串,打印出该字符串中字符的所有排列。
例如输入字符串abc,输出结果为abc,acb,bac,bca,cab,cba
解题思路:我们求整个字符串的排列,可以看成两步:1,求所有可能出现在第一个位置的字符,即把第一个字符和后面所有的字符交换;2,固定第一个字符,然后求后面的所有字符的排列。这个时候我们仍然把后面的所有字符分成两部分,递归实现
代码:
#include<iostream>#include<string>using namespace std;void swap(char *x, char* y) {char temp = *x;*x = *y;*y = temp;}void Permutation(string &p, int i, int n){if (i == n - 1)cout << p << endl;else{for (int j = i; j < n; j++){swap(p[i], p[j]);Permutation(p, i + 1, n);swap(p[i], p[j]);}}}int main(){string s;cin >> s;int len = s.size();Permutation(s, 0, len);return 0;}
0 0
- 字符串的全排列问题
- 字符串的全排列问题
- 字符串的全排列问题
- 字符串的全排列问题
- 字符串的全排列问题
- 字符串全排列问题
- 字符串全排列问题
- 字符串全排列问题
- 字符串全排列问题
- 字符串全排列问题
- 字符串全排列问题
- 字符串全排列问题
- 字符串全排列问题
- 字符串全排列问题
- 字符串全排列问题
- 字符串的全排列问题的解决方法
- 字符串、数组的全排列问题
- 字符串的全排列
- iOS7新技术:如何使用Multipeer Connectivity
- 直方图均衡化算法原理与实现
- 【NOIP】普及组 2014 问题求解
- Android开发环境搭建
- Java学习笔记之对象传值和引用总结
- 字符串的全排列问题
- Redis探索之旅(1)- Redis初识
- 判断字符串中的括号是否匹配
- POJ 3041 Asteroids(二分图匹配)
- BZOJ 1002 轮状病毒(生成树计数+高精度)
- 图像评价指标及方法
- React Native 学习资源精选仓库
- 银行家算法
- 大陆房价飙涨内幕:掩护30万亿地方债转移