摘要:这篇文章说的很详细: https://www.ibm.com/developerworks/cn/linux/1412_zhupx_thread/
阅读全文
摘要:1、is_permutation(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2):C11版本,判断两个序列是否为同一元素集的两个排列。 std::vector<int> c1 = {1, 2, 3,
阅读全文
摘要:1、includes(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2):判断第2个已为升序的序列的元素是否都出现在第1个升序序列中。 std::vector<int> c
阅读全文
摘要:1、equal(inIter1Begin, inIter1End, inIter2Begin):比较两个序列的对应元素是否相等 std::vector<int> c1 = {1, 2, 3, 4, 5}; std::vector<int> c2 = {1, 2, 3, 4, 5}; //比较c1,c
阅读全文
摘要:1、min(const T& a, const T& b):两个值中的最小值。 std::cout << std::min(2, 6); //打印结果:2 2、min(const T& a, const T& b, Compare comp):重载版本。 自己实现comp,向算法定制操作。 3、ma
阅读全文
摘要:1、ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last):在序列中发现第一对相邻且值相等的元素。 std::vector<int> c = {0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9
阅读全文
摘要:1、nth_element(RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last):对序列重排,使得指定的位置出现的元素就是有序情况下应该在该位置出现的那个元素,且在指定位置之前的元素都小于指定
阅读全文
摘要:1、random_shuffle(RandomAccessIterator first, RandomAccessIterator last):n个元素有n!个排列。该函数给出随机选择的一个排列。 std::vector<int> c = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
阅读全文
摘要:1、move(InputIterator first, InputIterator last, OutputIterator result):C11版,把输入序列中的逐个元素移动到结果序列。需要注意的是,把一个对象移动给另一个对象的std::move定义在头文件<utility>中。 std::ve
阅读全文
摘要:1、equal_range(forIterBegin, forIterEnd, targetVal):在已排序的序列中查找目标值的位置范围;返回范围的下界与上界。对于随机迭代器,用二分查找;否则线性查找。返回pair<ForwardIterator, ForwardIterator> std::ve
阅读全文
摘要:1、partial_sort(RandomAccessIterator first, RandomAccessIterator middle, RandomAccessIterator last):使得[first, middle)为整个序列中最小的那些元素并为升序。[middle, last)的元
阅读全文
摘要:1、unique(ForwardIterator first, ForwardIterator last):对序列中一群连续相等的元素,仅保留第一个元素,该群其他元素被这群元素之后的其他值的元素替换。该函数不改变这些值的相互顺序,不改变容器的size。函数返回值为最后一个保留元素的下一个位置(pas
阅读全文
摘要:1、iter_swap(ForwardIterator1 a, ForwardIterator2 b):交换两个迭代器所指的元素对象 std::vector<int> c; //向c中添加元素 for (int i = 0; i < 10; i++) { c.push_back(i); } //交换
阅读全文
摘要:1、merge(InputIterator first1, InputIterator last1, InputIterator first2, InputIterator last2, OutputIterator result):两个升序的序列合并,结果序列保持升序 std::vector<in
阅读全文
摘要:1、generate(ForwardIterator first, ForwardIterator last, Generator gen):对序列中每个元素,依次调用函数gen的返回值赋值 std::vector<int> c; c.resize(10); //确保c在赋值时真正存在元素 //用匿
阅读全文
摘要:1、replace(ForwardIterator first, ForwardIterator last, const T& old_value, const T& new_value):把序列中为给定值的元素替换为新值 std::vector<int> c; c.reserve(10); //向
阅读全文
摘要:1、rotate(ForwardIterator first, ForwardIterator middle, ForwardIterator last):等效于循环左移序列,使得迭代器middle所指的元素成为首元素。 std::vector<int> c; c.reserve(10); //向c
阅读全文
摘要:1、reverse(BidirectionalIterator first, BidirectionalIterator last):把序列中的元素逆序 std::vector<int> c; c.reserve(10); //向c中添加元素 for (int i = 0; i < 10; i++)
阅读全文
摘要:1、remove(ForwardIterator first, ForwardIterator last, const T& val):删除序列中等于给定值的所有元素,保留的元素存放在容器的前部且相对次序不变。容器的size不变。 一般remove算法要与容器的成员函数erase配合使用才能真正删除
阅读全文
摘要:1、fill(ForwardIterator first, ForwardIterator last, const T& val):用给定值填充序列中的每个元素 std::vector<int> c; c.resize(10); //用数字5填充序列中的每个元素 std::fill(c.begin(
阅读全文