字符串排列算法的实现
2013-07-13 20:45
225 查看
字符串的排列算法分解为两部分,第一部分是第一个字符,第二部分是剩下的字符,剩下的字符有可以用类推的方法分为两个部分,很显然用递归可以实现,以下是我测试过的代码:
#include <iostream> #include <string.h> #include <fstream> #include <stack> #include <exception> using namespace std; void swap(char &c1,char &c2) { char temp=c1; c1=c2; c2=temp; } void pailie(char *str,int start,int len) { if(start==len) { for(int i=0;i<len;i++) { cout<<str[i]; } cout<<endl; }else { for(int index=start;index<len;index++) { swap(str[index],str[start]); pailie(str,start+1,len); swap(str[index],str[start]); } } } int main() { char sample[]="abcd"; pailie(sample,0,strlen(sample)); getchar(); return 0; }
相关文章推荐
- [算法学习]Java实现字符串全排列
- 一些常用算法[数组全排列算法,单链表反转(递归实现),字符串反转,桶排序]
- 字符串排列算法的实现
- 算法实现:字符串的所有排列情况
- 【算法】实现对中文字符串数组按照音序排列
- 字符串全排列算法理解与java实现
- 字符串的全排列非递归实现算法
- 算法实现字符串匹配问题:从三个字符串中找出共有的最长部分。
- 第八周项目三(2)—顺序串算法之实现将已知字符串所有字符倒过来重新排列
- 编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。
- 字符串全排列 Java递归实现
- 全排列递归实现算法
- 简单字符串模式匹配算法的C++实现
- 编写一个函数(递归实现) 实现:将参数字符串中的字符反向排列。
- 字符串处理算法(五)多线程实现代码行数统计。[风林火山]
- 我理解的剑指offer----字符串的全排列和组合算法
- KMP字符串模式匹配算法Java实现
- 实现一个比较高级的字符匹配算法,即一串很长的字符,要求找到符合要求字符的字符串
- java实现字符串排列组合问题
- 字符串全排列算法--去除重复的排列