【笔记】 STL容器

vector

	vector<int> v;
v.push_back(x);
v.emplace(x);
v.size();
v.erase(v.begin(),v.begin()+pos);
v.insert(v.begin()+pos,x);
lower_bound(v.begin(),v.end())-v.begin();
v.clear();

bitset

bitset<8> s ("00011011");
cout << s.count() << endl; //5   (求bitset中1的个数
cout << s.size() << endl;  //8   (求bitset的大小
cout << s.test(0) << endl; //true  (查下标处的元素是0还是1,并返回false或true,此处s[0]为1(最右),返回true
cout << s.any() << endl;  //true  (是否有1
cout << s.none() << endl;  //false  (是否无1
cout << s.all() << endl;  //false  (是否全部为1
mp.find(key)!=mp.end();//map的find查找的是键值
s.find(val)!=s.end();//set的find就是查元素在不在集合里

stack

	stack<int> stk;
stk.push(x);
stk.pop();
stk.top();
stk.size();
stk.empty();

queue

	queue<int> q;
q.push(x);
q.pop()
q.front();
q.back();
q.size();

deque

	deque<int> dq;
dq.push_back(x);
dq.push_front(x);
dq.front();
dq.back();
dq.pop_front();
dq.pop_back();
dq.size();

priority_queue

	//大根堆
priority_queue<int,vector<int>,less<int> >pq;//简写:priority_queue<int> pq;
/*小根堆
priority_queue<int,vector<int>,greater<int>> pq//无简写
*/
pq.push(x);
pq.emplace(x);
pq.size();
pq.empty();
pq.top();
pq.pop();

heap(?)

makeheap(a+1,a+n+1);
pushheap(a+1,a+n+1);
popheap(a+1,a+n+1);

(multi/unordered_)map

	map<int,int> mp;
mp[x]=y;
mp.lower_bound(x);
mp.emplace(x,y);
mp.insert(make_pair(x,y));
for(auto v:mp) v.first++;
mp.size();
mp.empty();
mp.clear();

(multi/unordered_)set

	set<int> s;
s.emplace(x);
s.insert(x);
s.erase(x);
s.lower_bound(x);
s.size();
s.empty();
s.clear();

list(?)

【笔记】 STL容器的更多相关文章

  1. C++面试笔记--STL模板与容器

    1.C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作.vec ...

  2. STL学习笔记(一) 容器

    0.前言随机访问迭代器: vector.string.dequeSTL的一个革命性的方面就是它的计算复杂性保证 条款01:慎重选择容器类型 c++提供的容器:标准STL序列容器:vector.stri ...

  3. STL容器

    啦啦啦,今天听啦高年级学长讲的STL容器啦,发现有好多东西还是有必要记载的,毕竟学长是身经百战的,他在参加各种比赛的时候积累的经验可不是一天两天就能学来的,那个可是炒鸡有价值的啊,啊啊啊啊啊 #inc ...

  4. c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例

    c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. 1 ...

  5. STL容器删除元素的陷阱

    今天看Scott Meyers大师的stl的用法,看到了我前段时间犯的一个错误,发现我写的代码和他提到错误代码几乎一模一样,有关stl容器删除元素的问题,错误的代码如下:std::vector< ...

  6. 【转】c++中Vector等STL容器的自定义排序

    如果要自己定义STL容器的元素类最好满足STL容器对元素的要求    必须要求:     1.Copy构造函数     2.赋值=操作符     3.能够销毁对象的析构函数    另外:     1. ...

  7. GDB打印STL容器内容

    GDB调试不能打印stl容器内容,下载此文件,将之保存为~/.gdbinit就可以使用打印命令了. 打印list用plist命令,打印vector用pvector,依此类推. (gdb) pvecto ...

  8. STL容器迭代器失效分析

    连续内存序列容器(vector, string, deque) 对于连续内存序列STL容器,例如vector,string,deque,删除当前iterator会使得后面所有的iterator都失效, ...

  9. STL容器的适用情况

     转自http://hsw625728.blog.163.com/blog/static/3957072820091116114655254/ ly; mso-default-props:yes; m ...

  10. STL容器的遍历删除

    STL容器的遍历删除 今天在对截包程序的HashTable中加入计时机制时,碰到这个问题.对hash_map中的每个项加入时间后,用查询函数遍历hash_map,以删除掉那些在表存留时间比某个阈值长的 ...

随机推荐

  1. 七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)

    教程简介 EasySQLite是一个七天.NET 8操作SQLite入门到实战详细教程(包含选型.开发.发布.部署)! 什么是SQLite? SQLite 是一个软件库,实现了自给自足的.无服务器的. ...

  2. 我当年如何入门Linux的?-zdc的那些往事

    一.通信当年的疯狂 还记得09年初, 山寨机横行, 市场上手机主要还是塞班os, 小灵通还没有退出市场, 基于安卓的智能手机陆续推出. 没有王者荣耀,更没有微信, 小米的米聊还在ppt里: 那个时候网 ...

  3. JAVA学习——JDK开发环境配置

    2024/07/08 一.JDK下载 二.安装与JDK开发环境配置(Windows) 三.安装与JDK开发环境配置(Linux) 一.JDK下载与安装 网址: https://www.oracle.c ...

  4. Ruby 学习笔记

    基本语法 变量 name = "Alice" age = 30 puts "Name: #{name}, Age: #{age}" var # 局部变量 @va ...

  5. 【Jmeter】之批量处理多接口压力测试

    一.需求前提 1.有以下三个步骤: ①创建单据 ②审核单据 ③确认单据 让三个相关接口进行一连串批量请求操作,直到所有批量数据确认单据成功. 二.测试计划 需要说明的是,因为每个接口可能处理的不太一样 ...

  6. win10远程登录的账号密码

    win10有了一个windows hello,还有本地账号,还有microsoft账号 在 设置-账户信息 这里可以设置登录一个 Microsoft账号,然后远程登录的时候,用的是 Microsoft ...

  7. 《SpringBoot事务》单机mybatis事务控制

    一.场景再现 我们同时操作两张表及以上,一张表操作成功后,第二张表操作失败,此时需要回滚上一次的操作. 或者两次操作都成功,但后续业务处理的时候异常,此时需要回滚前面的所有数据库操作. 二.代码 1 ...

  8. C#/.NET/.NET Core技术前沿周刊 | 第 4 期(2024年9.1-9.8)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  9. numpy argsort排序如何让其稳定排序

    numpy.argsort(a, axis=-1, kind=None, order=None) Parameters: aarray_like Array to sort. axis int or ...

  10. CSS & JS Effect – sticky horizontal scrollbar

    需求 这个是 Google Ads 里的 table. 那个 horizontal scrollbar 可以 sticky bottom. 我们知道 scrollbar 是游览器原生的,我们能做的 s ...