您的位置:首页 > 其它

排列问题(递归)

2016-12-28 17:13 281 查看
给定带排列的N个元素的集合,输出其全排列

#include<iostream>
#include<algorithm>

using namespace std;

const int N=5;//最后一个数字的下标
int a[N+1];

void perm(int k,int m)
{
if(k==m){
for(int i=0;i<=N;i++)cout<<a[i]<<" ";
cout<<endl;
return;
}

for(int i=k;i<=m;i++){
swap(a[k],a[i]);
perm(k+1,m);
swap(a[k],a[i]);
}
}
int main()
{
for(int i=0;i<=N;i++){
a[i]=i+1;
}

perm(0,N);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: