分治法-排列问题

问题描述

R是由n个元素构成的序列集合,R={r1 ,r2 , … ,rn},求R的全排列

代码实现

void perm(Type list[],int k,int m){
    //解决规模最小的子问题:只有一个元素的序列的全排列
    if(k==m){
        for(int i = 0;i <=m;i++)
            cout<<list[i];
        cout<<endl;
    }else{//否则按照递推式划分子问题
    for(int i = k;i <=m;i++){
        swap(list[k],list[i]);
        perm(list,k+1,m);
        swap(list[k],list[i]);
    }
   }
}
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容