全排列问题

来源:互联网 发布:云计算行业发展趋势 编辑:程序博客网 时间:2024/06/07 08:32
键盘输入n(1<=n<=10)个字符,输出输出其全排序。第一行为字符个数k,第二行为k个字符,不用空格隔开。输出其每种排列占一行,各字符间用一空格隔开。
样例输入:
3
ABC
样例输出:
A B C
A C B
B A C
B C A
C B A

C A B

#include<iostream>using namespace std;void pailie(char a[],int n,int i){int j;if(n==i){for(j=1;j<=n;j++){cout<<a[j]<<' ';}cout<<endl;}else {for(j=i;j<=n;j++){swap(a[i],a[j]);pailie(a,n,i+1);swap(a[i],a[j]);}}}int main(){int n,k;cin>>n;char a[10],b;for(k=1;k<=n;k++){cin>>b;a[k]=b;  }pailie(a,n,1);return 0;}


0 0
原创粉丝点击