输出一个字符串的全排列
2013-03-11 23:34
239 查看
#include<iostream> #include<cstring> using namespace std; void swap(char &a, char &b) { char t = a; a = b; b = t; }
void permutation(char ch[],int s, int e) { int i = 0; if(s > e) return; if(s == e) { for(i=0; i<=e; i++) cout<<ch[i]; cout<<endl; return; } for(i=s; i<=e; i++) { bool isExist = false; for(int j=i-1; j>=s; j--) if(ch[j] == ch[i]) { isExist = true; break; } if(!isExist) { swap(ch[s],ch[i]); permutation(ch,s+1,e); swap(ch[s],ch[i]); } } }
int main() { char ch[100]; cout<<"please input the string!"<<endl; cin>>ch; int len = strlen(ch); permutation(ch,0,len-1); cout<<""<<endl; return 0; }
相关文章推荐
- 输出一个字符串的全排列
- 输出一个字符串的全排列
- POJ 1731 Orders 按序输出一个字符串的全排列 next_permutation()
- POJ 1731 Orders 按序输出一个字符串的全排列 next_permutation()
- Swift - 排列组合之全排列 (输入一个字符串,输出该字符串包含的字符的所有组合)
- 算法 - 输出一个字符串的全排列(C++)
- 递归解决输出一个字符串的全排列问题(缺陷:没有考虑字符串中字符重复的问题)
- 8.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出结果。(改)
- 实现strchr函数(输出一个字符在字符串中的位置)
- 用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串
- 从键盘输入一个带有数字的字符串,将其中所在的数字的位置输出,并把数字串小写字符变大写字符再输出
- 剑指offer系列之二十六:输出字符串的全排列
- 把一个“十六进制”字符串转换为十六进制数字输出
- 最大堆---实现一个简化的搜索提示系统。给定一个包含了用户query的日志文件,对于输入的任意一个字符串s,输出以s为前缀的在日志中出现频率最高的前10条query。
- 输入一个字符串,编写递归函数将字符串按相反的顺序输出;
- 写一个函数输出一个字符串中的所有排列
- 第20题: 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345。
- 将一个字符串以某个字符为中心对称交换(倒序输出字符串)
- 请实现一个方法,把字符串中的每个空格替换成 %20 ,例如,输入"We are happy.",则输出"We%20are%20happy."
- 华为面试题:请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。