下一个排列/上一个排列-----全排列
2016-03-22 19:30
411 查看
下一个排列 : next_permutation 只能从字典序的低向高 , 一个一个寻找出排列组合
上一个排列 : prev_permutation 只能从字典序的高向低 , 一个一个寻找出排列组合
写法也就是这样下面附上 下一个排列---
上一个排列 : prev_permutation 只能从字典序的高向低 , 一个一个寻找出排列组合
1 // 上一个排列 ------- 字典序从大到小 #include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #include<algorithm> #include<queue> #include<vector> using namespace std; bool cmp(int a,int b) { return a>b; } int main() { int n,p[10]; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&p[i]); sort(p,p+n,cmp); do { for(int i=0;i<n;i++) printf("%d ",p[i]); printf("\n"); }while(prev_permutation(p,p+n)); return 0; }
写法也就是这样下面附上 下一个排列---
1 // 下一个排列 字典序 由小到大的排列方式 #include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #include<algorithm> #include<queue> #include<vector> using namespace std; int main() { int n,p[10]; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&p[i]); sort(p,p+n); do { for(int i=0;i<n;i++) printf("%d ",p[i]); printf("\n"); }while(next_permutation(p,p+n)); return 0; }
相关文章推荐
- 自定义Dialog
- 修改UILabel的行间距
- 各位程序员们一定要好好保护自己的眼睛啊
- [Angular 2] Build a select dropdown with *ngFor in Angular 2
- 多态性---构造函数和析构函数中调用虚函数
- 年龄几何
- 设计模式之桥接模式
- iOS runtime学习之Method Swizzling(方法调配技术)
- 第四周项目3————随机数函数应用于游戏
- solr入门之搜索建议的拼音转换工具
- Unity3D -- 获取不重复的随机数
- C#如何调用其他.config配置文件,就是2个乃至3个以上的config文件
- Android Studio Application Test详解
- hdu1864 最大报销额(01背包)
- 为mysql数据库建立索引
- 验证码制作php
- android线程消息传递机制——Looper,Handler,Message
- Codeforce 633D multiset
- Android中进程(Process)和线程(Thread)
- APNs推送的测试工具(使用新的HTTP2 api)