【笔记】 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. 暑假Java自学进度总结05

    一.今日所学: 1.if的第一个表达式: if(关系表达式){ 语句: } 执行流程: 1>首先执行关系表达式的值 2>如果关系表达式的值为true则执行语句,否则不执行 3>继续执 ...

  2. .NET+WPF 桌面快速启动工具 GeekDesk

    前言 大家在平时工作中,是不是经常为了找某个文件或者应用而在电脑桌面上来回翻找?桌面图标乱七八糟,每次找东西都像在大海捞针一样. 今天给大家介绍一个开源项目 GeekDesk,它能够让桌面焕然一新,工 ...

  3. Go 互斥锁 Mutex 源码分析(二)

    原创文章,欢迎转载,转载请注明出处,谢谢. 0. 前言 在 Go 互斥锁 Mutex 源码分析(一) 一文中分析了互斥锁的结构和基本的抢占互斥锁的场景.在学习锁的过程中,看的不少文章是基于锁的状态解释 ...

  4. C++容器算法

    容器算法 <algorithm>是c++自带的容器算法,提供一系列实用的算法.在谈到容器算法,我们大概率会用到谓词predicate,谓词返回的类型是布尔类型(bool)可以是lambda ...

  5. 进行中 10% 手机Root安装银河麒麟ARM系统,或其它的CentOS系统

    计划中: 预计开始时间: 最早开始3/12 预计结束时间:最早3/13号 计划过程: 1. 手机root 2. 安装系统 目前:1. 我的旧旧旧手机,是红米note5,然后我进了官网,想要解锁, 解锁 ...

  6. 修改python打包后的窗体图标、任务栏图标、exe图标

    前言 我python开发的GUI界面(图形用户界面)一直是tkinter,打包exe一直是Pyinstaller.但是打包出来的exe图标.状态栏图标.窗体左上角图标一直是默认的羽毛,我想自定义. 效 ...

  7. C# SAPX调用用户控件方法

    //获得用户控件            Type pageType = ucMoneyList1.GetType();             //用户控件方法名            MethodI ...

  8. ZEGO 教程 | RTC + AI 视觉的最佳实践(移动端)

    ​  ​摘要:帮助开发者在音视频场景中快速获得 AI 视觉功能 -- 美颜.滤镜.背景抠图等. 文|即构 Native SDK 开发团队 Z世代作为社会新的消费主力,追求个性.热爱新奇事物,青睐与酷炫 ...

  9. DOM & BOM – 大杂烩

    Document.scrollingElement 参考: why to use 'html, body' for scrollTop instead of just 'html' MDN 使用doc ...

  10. [快速阅读八] HDR->LDR:Matlab中tonemapfarbman函数的解析和自我实现。

    最近受朋友的委托,想自己实现Matlab里的一个HDR转LDR的函数,函数名是tonemapfarbman,乘着十一假期,稍微浏览下这个函数,并做了一点C++的实现和优化. 为了看到这个函数的效果,需 ...