c++STl的全排列
2016-02-19 23:10
246 查看
STL有一个函数next_permutation(),它的作用是如果对于一个序列,存在按照字典排序 后这个排列的下一个排列,那么就返回true且产生这个排列,否则返回false。 #include <cstdio> #include <iostream> #include <algorithm> using namespace std; void permutation(int a[], int len) { int i; sort(a, a + len);//用这个全排列之前,要先对它排序 do{ for(i = 0; i < len; i++) cout << a[i] << " "; cout << endl; }while(next_permutation(a, a + len));//如果返回true,则生成下一个全排列 } int main() { int a[4] = {1, 2, 3, 4}; permutation(a, sizeof(a) / sizeof(a[0])); return 0; }
相关文章推荐
- C++之 浅拷贝和深拷贝
- neuq oj 1043: 谭浩强C语言(第三版)习题5.7 C语言
- 关于C语言include尖括号和双引号的对话
- C语言:【动态顺序表】动态顺序表的在指定位置插入元素Insert,以及指定元素Find
- 单件模式
- 74. Search a 2D Matrix
- 【hdu 2896】病毒侵袭 题解&代码(C++)
- C++之 构造函数调用规则
- 【源代码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)
- Basic C++ Container classes summary(Array, Vector, List)
- c语言入门之项目2.0——成绩等级
- C语言:【动态顺序表】动态顺序表的初始化、打印、尾插PushBack、尾删PopBack
- C++基础篇之 复制构造函数调用时机
- c/c++题目汇总一
- C语言之getopt使用
- 【hdu 2222】Keywords Search 中文题意&题解&代码(C++)
- 「Cplusplus」在命令提示符下编译C/C++源文件和运行可执行文件
- 整理摘抄 宏定义笔记
- C++之匿名对象与析构函数的关系
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别