【笔记】 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. [考试记录] 2024.7.15 csp-s模拟赛4

    2024.7.15 csp-s模拟赛4 T1 传送带 题面翻译 有一个长度为 \(n\) 的一维网格.网格的第 \(i\) 个单元格包含字符 \(s_i\) ,是"<"或&q ...

  2. .net5调用WebService简单事例

    1. 创建 .net5控制台项目: dotnet new console -o WebServiceConsole 2. 添加全局工具 dotnet tool install --global dot ...

  3. 使用 python flask 框架实现一个简单的抽奖系统

    Flask 实现一个简易的抽奖系统 项目前置知识 目前 python主流的框架: Django .flask .Tornado 简介: 1.框架 框架? 为什莫使用框架? (前置知识讲解比较冗杂,望谅 ...

  4. linux小常识

    一.一般来说著名的linux系统基本上分两大类:1 RedHat系列:Redhat.Centos.Fedora等2 Debian系列:Debian.Ubuntu等RedHat 系列:1 常见的安装包格 ...

  5. 淘宝开放平台api申请,淘宝开放平台api租用,淘宝开放平台api无法申请,淘宝开放平台api暂停接入

    目前淘宝开放平台应用申请是关闭了的,已经无法申请到了,如果你是天猫店铺,可以申请供自己店铺使用的权限,如果你不是天猫店铺或者你是软件开发商,目前是申请不到权限的 如果你必须要用到这个权限包的话,可以联 ...

  6. 【YashanDB知识库】数据库审计shutdown immediate操作导致数据库异常退出

    [问题分类]功能使用 [关键字]数据库审计,shutdown immediate [问题描述]审计shutdown immediate 操作,数据库作主从切换时会导致数据库异常退出. [问题原因分析] ...

  7. x64汇编——汇编指令

    汇编指令 mov dest, src mov move的简称 将src的内容赋值给dest,类似于dest = src [地址值] 中扩号 [ ]里面放的都是内存地址 一个变量的地址值,是它所有字节地 ...

  8. 【赵渝强老师】Oracle RAC集群的概念

    一.什么是Oracle RAC(Real Application Cluster)? Oracle RAC 是一个具有共享缓存架构的集群数据库,它克服了传统的无共享方法和共享磁盘方法的限制,为您的所有 ...

  9. MySQL9的3个新特性

    本文讲解MySQL9的3个新特性:支持将JSON输出保存到用户变量.支持准备语句以及支持面向AI的向量存储. 17.12  MySQL9新特性1--支持将JSON输出保存到用户变量 从MySQL 9版 ...

  10. 数据库日常实操优质文章分享(含Oracle、MySQL等) | 2023年2月刊

    本文为大家整理了墨天轮数据社区2023年2月发布的优质技术文章,主题涵盖Oracle.MySQL.PostgreSQL等数据库的环境搭建.故障处理等日常实践操作,以及概念梳理.常用脚本等总结记录,分享 ...