stl_container容器和std_algorithm算法相同的函数
八、算法和容器中存在的功能相同的函数:
8.1、array:
8.1.1、fill。
1、在array中:void fill (const value_type& val);
2、在algorithm中:
template <class ForwardIterator, class T>
void fill (ForwardIterator first, ForwardIterator last, const T& val);
8.1.2、swap。
1、在array中:
void swap (array& x);
2、在algorithm中:
template <class T> void swap (T& a, T& b);
8.2、vector:
8.2.1、swap。
1、在vector中:
void swap (vector& x);
2、在algorithm中:
template <class T> void swap (T& a, T& b);
8.3、list:
8.3.1、swap。
1、在list中:
void swap (list& x);
2、在algorithm中:
template <class T> void swap (T& a, T& b);
8.3.2、remove。
1、在list中:
void remove (const value_type& val);
2、在algorithm中:
template <class ForwardIterator, class T>
ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val);
8.3.3、remove_if。
1、在list中:
template <class Predicate>
void remove_if (Predicate pred);
2、在algorithm中:
template <class ForwardIterator, class UnaryPredicate>
ForwardIterator remove_if (ForwardIterator first, ForwardIterator last,
UnaryPredicate pred);
8.3.4、unique
1、在list中:
(1)void unique();
(2)template <class BinaryPredicate>
void unique (BinaryPredicate binary_pred);
2、在algorithm中:
(1)template <class ForwardIterator>
ForwardIterator unique (ForwardIterator first, ForwardIterator last);
(2)template <class ForwardIterator, class BinaryPredicate>
ForwardIterator unique (ForwardIterator first, ForwardIterator last,
BinaryPredicate pred);
8.3.5、merge。
1、在list中:
(1)void merge (list& x);
(2)template <class Compare>
void merge (list& x, Compare comp);
2、在algorithm中:
(1)template <class InputIterator1, class InputIterator2, class OutputIterator>
OutputIterator merge (InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
OutputIterator result);
(2)template <class InputIterator1, class InputIterator2,
class OutputIterator, class Compare>
OutputIterator merge (InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
OutputIterator result, Compare comp);
8.3.6、sort。
1、在list中:
(1)void sort();
(2)template <class Compare>
void sort (Compare comp);
2、在algorithm中:
(1)template <class RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last);
(2)template <class RandomAccessIterator, class Compare>
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
8.3.7、reverse。
1、在list中:
void reverse();
2、在algorithm中:
template <class BidirectionalIterator>
void reverse (BidirectionalIterator first, BidirectionalIterator last);
8.4、forward_list:
8.4.1、swap。
1、在forward_list中:
void swap (forward_list& x);
2、在algorithm中:
template <class T> void swap (T& a, T& b);
8.5、deque:
8.5.1、swap。
1、在deque中:
void swap (deque& x);
2、在algorithm中:
template <class T> void swap (T& a, T& b);
8.6、set和map中是一样的:
8.6.1、swap。
1、在set中:
void swap (set& x);
2、在algorithm中:
template <class T> void swap (T& a, T& b);
8.6.2、find。
1、在set中:
iterator find (const value_type& val) const;
2、在algorithm中:
template <class InputIterator, class T>
InputIterator find (InputIterator first, InputIterator last, const T& val);
8.6.3、count。
1、在set中:
size_type count (const value_type& val) const;
2、在algorithm中:
template <class InputIterator, class T>
typename iterator_traits<InputIterator>::difference_type
count (InputIterator first, InputIterator last, const T& val);
8.6.4、lower_bound。
1、在set中:
iterator lower_bound (const value_type& val) const;
2、在algorithm中:
(1)template <class ForwardIterator, class T>
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last,
const T& val);
(2)template <class ForwardIterator, class T, class Compare>
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last,
const T& val, Compare comp);
8.6.5、upper_bound。
1、在set中:
iterator upper_bound (const value_type& val) const;
2、在algorithm中:
(1)template <class ForwardIterator, class T>
ForwardIterator upper_bound (ForwardIterator first, ForwardIterator last,
const T& val);
(2)template <class ForwardIterator, class T, class Compare>
ForwardIterator upper_bound (ForwardIterator first, ForwardIterator last,
const T& val, Compare comp);
8.6.6、equal_range。
1、在set中:
pair<iterator,iterator>
equal_range (const value_type& val) const;
2、在algorithm中:
(1)template <class ForwardIterator, class T>
pair<ForwardIterator,ForwardIterator>
equal_range (ForwardIterator first, ForwardIterator last, const T& val);
(2)template <class ForwardIterator, class T, class Compare>
pair<ForwardIterator,ForwardIterator>
equal_range (ForwardIterator first, ForwardIterator last, const T& val,
Compare comp);
stl_container容器和std_algorithm算法相同的函数的更多相关文章
- C++ Primer 学习笔记_46_STL实践与分析(20)--容器特有的算法
STL实践与分析 --容器特有的算法 与其它顺序容器所支持的操作相比,标准库为list容器定义了更精细的操作集合,使它不必仅仅依赖于泛型操作.当中非常大的一个原因就是list容器不是依照内存中的顺序进 ...
- Java实现 蓝桥杯VIP 算法训练 sign函数
试题 算法训练 sign函数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定实数x,输出sign(x)的值. sign(x)是符号函数,如果x>0,则返回1:如果x=0, ...
- Java实现蓝桥杯VIP算法训练 二元函数
试题 算法训练 二元函数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 令二元函数f(x,y)=ax+by,a和b为整数,求一个表达式S的值. 只有满足以下要求的表达式才是合法的: ...
- C++的那些事:容器和泛型算法
一.顺序容器 1,标准库定义了3种类型的顺序容器:vector.list和deque.它们的差别主要在于访问元素的方式,以及添加或删除元素相关操作运算代价.标准库还提供了三种容器适配器:stack.q ...
- C++ STL算法系列6---copy函数
现在我们来看看变易算法.所谓变易算法(Mutating algorithms)就是一组能够修改容器元素数据的模板函数,可进行序列数据的复制,变换等. 我们现在来看看第一个变易算法:元素复制算法copy ...
- STL容器及泛型算法
一.顺序容器 1.容器的选择 (1) 随机访问,选vector ,deque (2) 在中间插入或者删除元素,选list (3) 在头尾插入或删除元素 , 选deque 2.list的成员函数 (1) ...
- C++(五十一) — 容器中常见算法(查找、排序、拷贝替换)
1.find(); find()算法的作用是在指定的一段序列中查找某个数,包含三个参数,前两个参数是表示元素范围的迭代器,第三个参数是要查找的值. 例:fing(vec.begin(), vec.en ...
- KMP算法中next函数的理解
首先要感谢http://blog.csdn.net/v_july_v/article/details/7041827以及http://blog.chinaunix.net/uid-27164517-i ...
- C++ STL算法系列1---count函数
一.count函数 algorithm头文件定义了一个count的函数,其功能类似于find.这个函数使用一对迭代器和一个值做参数,返回这个值出现次数的统计结果. 编写程序读取一系列int型数据,并将 ...
随机推荐
- SEO-关键词密度与友情链接交换技巧
关键词密度 关键词密度 关键词密度与关键词频率所阐述的实质上是同一个概念,用来量度关键词在网页上出现的总次数与其他文字的比例,一般用百分比表示.相对于页面总字数而言,关键词出现的频率越高,关键词密度也 ...
- 蓝牙DA14580开发:固件格式、二次引导和烧写
嵌入式企鹅圈原创团队成员黄鑫提供. 相比NRF52832和CC254X,蓝牙单芯片DA14580在OTA和二次引导上要复杂一些,不仅体现在memory map.引导过程等流程上,而且在固件格式.生成和 ...
- C中运算符优先级
总体规则: 特殊运算符>单目运算符>双目运算符>三目运算符>赋值运算符>逗号运算符 只有单目运算符是右结合,其余的均为左结合
- iOS开发之通知机制
1.通知中心 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发布通知(NSNotification), ...
- CoreCLR源码探索(五) GC内存收集器的内部实现 调试篇
在上一篇中我分析了CoreCLR中GC的内部处理, 在这一篇我将使用LLDB实际跟踪CoreCLR中GC,关于如何使用LLDB调试CoreCLR的介绍可以看: 微软官方的文档,地址 我在第3篇中的介绍 ...
- JS调用WebService,发布到IIS,网页提示WebService未定义[已解决]
VS2013中,JS调用WebService,一直运行正常.部署到WindowsServer2008之后,在网页中访问,始终提示网页中有错误,点开之后发现是WebService未定义. 于是上网查解决 ...
- Linux批量清理多个文件内容而不删除文件
清理单个文件,可以这样:echo > myLog.log 但是,如果我要清理一堆文件,比如在/logs目录下面的所有以.log结尾的文件的内容,而不删除文件,该如何操作呢? 我一开始的语句是这样 ...
- 填坑实录 Android Studio 利用 ADB WIFI 插件实现真机无线调试
总是用模拟器,小破本的渣内存无法承受,同时模拟器的版本大多停在4.4,无法体现Android 5.0.6.0 的版本特性,因此决定利用 Android Studio 的插件实现真机无线调试. 步骤如下 ...
- Hadoop/Spark开发环境配置
修改hostname bogon 为localhost 查看ip地址 [training@bogon ~]$ sudo hostname localhost [training@bogon ~]$ h ...
- C#研究OpenXML之路(4-使用第三方库)
一.悲催的OpenXML操作 学习并使用了一段时间的OpenXML,感觉用这个来操作Excel文件真是一件非常悲催的事情,由于我自己比较熟悉Excel COM的操作,但到了OpenXML中发现,之前所 ...