
STL
| 全排列函数 next_permutation
STL 中专门用于排列的函数(可以处理存在重复数
据集的排列问题)
头文件:#include <algorithm>
using namespace std;
调用: next_permutation(start, end);
注意:函数要求输入的是一个升序排列的序列的头
指针和尾指针.
用法:
// 数组
int a[N];
sort(a, a + N);
next_permutation(a, a + N);
// 向量
vector<int> ivec;
sort(ivec.begin(), ivec.end());
next_permutation(ivec.begin(), ivec.end()
);
例子:
vector<int> myVec;
// 初始化代码
sort(myVec.begin(), myVec.end());
do
{
for (i = 0 ; i < size; i ++ ) cout <
< myVec[i] << " " ;
cout << endl;
}
while (next_permutation(myVec.begin(), m
yVec.end()));
ACM / ICPC 竞赛之 STL 简介
一、关于 STL
STL(Standard Template Library,标准模板库)
是 C++ 语言标准中的重
要组成部分。STL 以模板类和模板函数的形式
为程序员提供了各种数据结构和
算法的精巧实现,程序员如果能够充分地利用
STL ,可以在代码空间、执行时
间和编码效率上获得极大的好处。
STL 大 致 可 以 分 为 三 大 类 : 算 法
(algorithm) 、容器 (container) 、迭代器
(iterator)。