集合全排列

#include<iostream>
using namespace std;
void Perm(int list[ ], int k, int m)
{    //构成了一次全排列,输出结果
    if(k==m)
    {   for(int i=0;i<=m;i++)
    cout<<list[i]<<" ";
    cout<<endl;
    }
    else  //在数组list中,产生从元素k~m的全排列
        for(int j=k;j<=m;j++)
        {    
        swap(list[k],list[j]);
        Perm(list,k+1,m);
        swap(list[k],list[j]);
        }
}
int main(){
    int list[10]={1,2,3,4,5,6,7,8,9,10};
    int k,m;
    cin>>k>>m;
    Perm(list,k,m);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/wanwu_fusu/article/details/83831854
今日推荐