STL用法总结
STL常见容器和算法使用介绍
半雨微凉丶
这个作者很懒,什么都没留下…
展开
-
获取list中前十个元素
12目录12原创 2021-02-28 17:59:53 · 10499 阅读 · 0 评论 -
STL常用算法
1、set取交集 set<string> setSrc,setDst,setResult; setSrc.insert("li lei"); setSrc.insert("han meimei"); setDst.insert("lucy"); set_intersection(setSrc.begin(),setSrc.end(),setDst.begi...原创 2019-08-17 10:30:32 · 233 阅读 · 0 评论 -
两个vector之间复制数据的效率比较试验
前言在实际中经常遇到两个vector之间的赋值,实现很简单,方法也很多,但是你用的是不是最有效率的呢?所以就做了一个小实验,测试一下各种赋值方法之间的效率差异,仅供参考~示例代码:// vector_copy.cpp : Defines the entry point for the console application.//#include "stdafx.h"#incl...原创 2019-05-15 16:07:17 · 6312 阅读 · 0 评论 -
STL 之 function 使用方法总结
头文件#include <functional>功能简介functional可以用来创建指向函数、函数对象或lambda表达式的类型被称为多态函数包装器可以当做函数指针,也可以用作实现函数回调的函数参数示例代码:#include <iostream>#include <functional>#include <...原创 2019-04-19 10:29:41 · 2204 阅读 · 0 评论 -
STL标准库容器函数对象简单实用
知识点:1、标准库函数对象:标准库定义了一组表示算术运算符、关系运算符和逻辑运算符的类,每个类分别定义了一个执行命名操作的调用运算符。这些类都被定义成模版的形式,我们可以为指定具体的应用类型2、函数适配器:bind1st、bind2nd 把二元函数转为一元函数,以便算法调用3、标准库部分算法函数 count_if、find_if、transform 的使用示例代码:#in...原创 2019-01-26 23:47:51 · 299 阅读 · 0 评论 -
vector混合排序(sort + stable_sort)
需求说明:一个保存多个字符串的vector容器,对其实现排序/去重,并且要求排序的时候先按长度排序,长度相同的再按照字典排序。示例代码:#include <iostream>#include <vector>#include <algorithm>#include <string>using namespace std;/...原创 2018-12-28 15:34:28 · 667 阅读 · 0 评论 -
STL容器去重,Vector、list等
前言:容器在实际中用的还是比较多的,比如vector、list、map等,所以难免遇到需要排序的情况,也就随之会遇到去重的问题。当然,自己循环遍历也能解决问题,这里介绍的是使用标准库算法思路:1、对容器排序,使用 sort 方法2、unique 对排序后的容器重新输入,每个元素只出现一次,重复的就依次排在后边,返回不重复末尾的迭代器3、利用之前得到的迭代器进行删除 eras...原创 2018-12-28 14:25:15 · 2478 阅读 · 0 评论 -
STL中前++,后++引发的思考
问题抛出:对于一个普通指针来说,++(++p)是可以的,但是++(p++)不行,这就是常见的左值右值问题。但是对于STL(比如vector)来说,++(v.begin()++)却可以。我们知道begin函数返回的是数组的首地址,也就是一个指针,为什么一个行一个不行呢? 个人理解:STL对于++操作进行了重载,其实进行的还是前++操作,跟++(++p)是一个道理,重载代码大概如下...原创 2018-10-30 08:35:13 · 234 阅读 · 0 评论 -
容器Set的简单用法
#include <iostream>#include <set> using namespace std; int main(){ set<int> s; //声明 s.insert(1);//插入元素 s.insert(3); s.insert(2); s.insert(2);//自动去除重复元...原创 2018-09-28 20:45:07 · 758 阅读 · 0 评论 -
函数对象之find_if
示例代码:#include <iostream>#include <algorithm>#include <vector>using namespace std;//是否大于5bool greater5(int n){ return n > 5;}//by zhaoclint main(){ vector&l...原创 2018-07-29 18:50:46 · 507 阅读 · 0 评论