常用STL整理 (施工中)

Posted Hyouka

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用STL整理 (施工中)相关的知识,希望对你有一定的参考价值。

1.vector

构造

vector <int> v;

基本操作

v.begin()             //指向迭代器中第一个元素。  
v.end()               //指向迭代器中末端元素的下一个,指向一个不存在元素。        
v.push_back(elem)     //在尾部加入一个数据。 
v.pop_back()          //删除最后一个数据。 
v.capacity()          //vector可用空间的大小。 
v.size()              //返回容器中数据个数。 
v.empty()             //判断容器是否为空。 
v.front()             //传回第一个数据。 
v.back()              //传回最后一个数据,不检查这个数据是否存在。 
v.at(index)           //传回索引idx所指的数据,如果idx越界,抛出out_of_range。 
v.clear()             //移除容器中所有数据。 
v.erase(iterator)     //删除pos位置的数据,传回下一个数据的位置。 
v.erase(begin,end)    //删除[beg,end)区间的数据,传回下一个数据的位置。注意:begin和end为iterator 
v.insert(position,elem)      //在pos位置插入一个elem拷贝,传回新数据位置。 
v.insert(position,n,elem)    //在pos位置插入n个elem数据,无返回值。 
v.insert(position,begin,end) //在pos位置插入在[beg,end)区间的数据,无返回值。

  

2.priority_queue

构造

priority_queue<int>que;                             //采用默认优先级构造队列最大值先出队
priority_queue<int,vector<int>,greater<int> >que3;  //最小值先出队
priority_queue<int,vector<int>,less<int> >que4;     //最大值先出队

基本操作

que.empty()   //判断一个队列是否为空
que.pop()     //删除队顶元素
que.push()    //加入一个元素
que.size()    //返回优先队列中拥有的元素个数
que.top()     //返回优先队列的队顶元素

  

 

3.map

构造

map<int, string> mp;

基本操作

mp.begin()          //返回指向map头部的迭代器
mp.clear()         //删除所有元素
mp.count()          //返回指定元素出现的次数
mp.empty()          //如果map为空则返回true
mp.end()            //返回指向map末尾的迭代器
mp.equal_range()    //返回特殊条目的迭代器对
mp.erase()          //删除一个元素
mp.find()           //查找一个元素
mp.get_allocator()  //返回map的配置器
mp.insert()         //插入元素
mp.key_comp()       //返回比较元素key的函数
mp.lower_bound()    //返回键值>=给定元素的第一个位置
mp.max_size()       //返回可以容纳的最大元素个数
mp.rbegin()         //返回一个指向map尾部的逆向迭代器
mp.rend()           //返回一个指向map头部的逆向迭代器
mp.size()           //返回map中元素的个数
mp.swap()           //交换两个map
mp.upper_bound()    //返回键值>给定元素的第一个位置
mp.value_comp()     //返回比较元素value的函数

 

 

4.queue

构造

queue<int> q;

基本操作 

q.push(num)   //入列,插入队列的末端。 
q.empty()     //判断队列是否为空
q.size()      //获取队列中的元素个数   
q.back()      //访问队列尾元素    

  

 

5.stack

构造

stack<int> s;
stack<int> c1(c2);  复制stack

基本操作

s.top()        //返回栈顶数据
s.push(num)   //在栈顶插入数据
s.pop()       //弹出栈顶数据
s.empty()     //判断栈是否为空
s.size()      //返回栈中数据的个数

  

 

 

6.set

构造

set<int> s;

基本操作

s.insert(num)             //把元素插入到集合中,同一元素不会重复插入
s.inset(first,second)     //将定位器first到second之间的元素插入到set中,返回值是void
s.erase(6)                //删除键值为6的元素 
s.find(6)                 //查找键值为6的元素,如果没找到则返回end()
s.begin()                //返回set容器的第一个元素
s.end()                //返回set容器的最后一个元素
s.clear()               //删除set容器中的所有的元素
s.empty()              //判断set容器是否为空
s.max_size()            //返回set容器可能包含的元素最大个数
s.size()              //返回当前set容器中的元素个数
s.rbegin()            //返回的值和end()相同
s.rend()              //返回的值和rbegin()相同
s.count()                //用来查找set中某个某个键值出现的次数,一般用于判断某一键值是否在set出现过
erase(iterator)          //删除定位器iterator指向的值
erase(first,second)      //删除定位器first和second之间的值(不包括second)
erase(key_value)         //删除键值key_value的值
lower_bound(key_value)   //返回第一个大于等于key_value的定位器
upper_bound(key_value)   //返回最后一个大于等于key_value的定位器

  

以上是关于常用STL整理 (施工中)的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

C#常用代码片段备忘

爆肝整理STL函数,助你代码实用高逼格

最全最详细publiccms常用的代码片段

最全最详细publiccms其他常用代码片段(内容站点)

[施工中]Cairo教程