博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回溯,字符串处理,全排列
阅读量:6540 次
发布时间:2019-06-24

本文共 759 字,大约阅读时间需要 2 分钟。

R={r1,r2,r3,...,rn};Perm(R)表示R的全排列

全排列问题,R的全排列递归定义如下:

1、当n=1时, Perm(R)={r};

2、当n>1时, Perm(R)=(r1)Perm(r1),(r2)Perm(r2),...,(rn)Perm(rn);

 

#include 
#include
#include
#include
#define MAX 105using namespace std;///产生元素下标为k~m的全排列,作为前k-1个元素得后缀void Perm(char a[],int k,int m){ ///构成一次全排列,输出结果 if(k==m) { for(int i=0;i<=m;i++)///下标为m,则之前有m+1个数 printf("%c",a[i]); printf("\n"); } else { for(int j=k;j<=m;j++) { swap(a[k],a[j]); Perm(a,k+1,m); swap(a[k],a[j]); } }}int main(){ char a[MAX]; int i; scanf("%s",a); for(i=0;i

 

转载于:https://www.cnblogs.com/TreeDream/p/5238248.html

你可能感兴趣的文章
纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!...
查看>>
java 为啥变量名前要加个m?
查看>>
探索Android中的Parcel机制(上)
查看>>
c++ 类型定义
查看>>
C#开发微信门户及应用(5)--用户分组信息管理
查看>>
怎样实现前端裁剪上传图片功能
查看>>
程序员提高工作效率的15个技巧【Facebook】
查看>>
ffmpeg+SDL2实现的视频播放器「退出、暂停、播放」
查看>>
2011/7/3 第二次评审
查看>>
Openvswitch手册(2): OpenFlow Controller
查看>>
Cocos2d-JS项目之二:studio基础控件的使用
查看>>
tar解压
查看>>
inheritprototype原型继承封装及综合继承最简实例
查看>>
【磁耦隔离接口转换器】系列产品选型指南
查看>>
Apriori 关联算法学习
查看>>
二叉树、红黑树、伸展树、B树、B+树
查看>>
Junit核心——测试集(TestSuite)
查看>>
MVPArms官方首发一键生成组件化,体验纯傻瓜式组件化开发
查看>>
Log4j_学习_00_资源帖
查看>>
制作iso镜像U盘自动化安装linux系统
查看>>