首页 > 其他分享 >【笔记】 STL容器

【笔记】 STL容器

时间:2023-11-17 20:15:00浏览次数:34  
标签:容器 pq STL 笔记 stk queue mp size dq

【笔记】 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(?)

标签:容器,pq,STL,笔记,stk,queue,mp,size,dq
From: https://www.cnblogs.com/superl61/p/17839551.html

相关文章

  • task0003前端项目准备的学习笔记(之前忘了发不好意思!)
    2023-10-26task0003前端学习笔记JavaScript作用域学习笔记①:今天看了http://www.laruence.com/2009/05/28/863.html这位作者讲了js的作用域原理,让我豁然开朗,原来函数定义式与函数表达式的不同会导致作用域作用不一样比如:varname='laruence';functionecho(){alert(name......
  • C++ 指针学习笔记
    C++指针学习笔记引入指针是什么指针是一个变量,其值为另一个变量的地址。指针声明的一般形式为:type*ptr_name;type是指针的基类型,ptr_name是指针的名称,*用来指定一个变量是指针对于一个指针,需要明确四个方面的内容:指针的类型、指针所指向的类型、指针的值(指针所指向的......
  • MSYS2学习笔记:基础使用
    本随笔用于记录随笔作者在使用MSYS2工具过程中需要掌握到的基础知识,例如如何查找想要的工具与其下载、如何环境配置等基础操作。本文内容摘录自MSYS2官方文档该随笔会不定时更新。随笔作者还正处于学习阶段,难免出现技术上和书写上的问题,如果发现类似问题,欢迎在评论区或私信与我......
  • C++ STL String用法
    string在C语言中,提供了字符串的操作,但只能通过字符数组的方式来实现字符串。而string则是一个简单的类,使用简单,在OI竞赛中被广泛使用。相较于其他STL容器,string的常数可以算是非常优秀的,基本与字符数组不相上下。string常用操作输出strings="123";printf("%s......
  • 《A Survey on Deep Learning-based Fine-grained Object Classification and Semanti
    论文标题《ASurveyonDeepLearning-basedFine-grainedObjectClassificationandSemanticSegmentation》基于深度学习的细粒度对象分类和语义分割的综述为什么是“Object”而不是“image”作者西南交通大学和新加坡国立大学2016年7月1日received;2016年9月30日......
  • 硬件开发笔记(十二):RK3568底板电路电源模块和RTC模块原理图分析
    前言  做硬件做系统做驱动,很难从核心板做起,所以我们先依赖核心板,分析底板周围的电路,然后使用AD绘制原理图和设计PCB,打样我司测试底板,完成硬件测试,再继续系统适配,驱动移植,从而一步一步完善成为一个功能完善的底板,且搭载了我们跳完的系统和驱动。  本篇文章,先从底板的电源电......
  • 学习笔记10
    第十二章学习笔记块设备I/O缓冲区I/O缓冲的基本原理非常简单。文件系统使用一系列I/O缓冲区作为块设备的缓存内存。当进程试图读取(dev,blk)标识的磁盘块时,它首先在缓冲区缓存中搜索分配给磁盘块的缓冲区。如果该缓冲区存在并且包含有效数据,那么它只需从缓冲区中读取数据,......
  • 个人笔记
    一、leaderwork对上1、明确上面的工作目标,对自己的工作规划和期许2、做的不对的地方,要记下来,主动找领导过解决的方案3、脑图产出你的工作整体计划,解决top3的问题4、工作中,标明经过自己的努力,漏测率降低了,什么什么提效了,结果数据化表格对下1、有现有的流程就按照现有的流程,例如......
  • HW学习笔记
    栈库分离方法注意事项:  所有用户输入数据需要进行分离过滤,不能遗漏、选择安全的过滤函数如mysql_real_escape_string(),避免过滤不严格导致注入  SQL查询模板需要设计安全,米面语义可以被注入数据改变,函数Mysql_query()等执行SQL预警也需要参数化,避免拼接导致注入  ......
  • 点分治学习笔记(未完成)
    前言点分治不应该算数据结构,它的本质是分治的思想。问题引入对于一个序列\(a\),求是否存在\((l,r)\)使得\(\sum\limits_{i=l}^{r}a_i=k\)。\(n\le10^6,|a_i|\le10^9\)。本题显然是有其它的做法的,由于学的是点分治,所以考虑分治做法。首先对\(a\)求前缀和,记这个数组为......