您的位置:首页 > 其它

输出一个字符串的全排列

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐