STL容器

顺序容器有以下三种:可变长动态数组 vector、栈stack、双端队列 deque、双向链表 list。

关联容器有以下四种:set、multiset、map、multimap。

迭代器vector<typename>::iterator        //auto获取

for_each(Iterator beg, Iterator end, Function f) {

  while(beg != end)

    f(*beg++);

}

.size()

.empty()

vector<int> vec(5,0)     //vector,list初始化

.reserve(n)       //预留大小

.push_front/emplace_front

.push_back/emplace_back

.pop_front/pop_back

.insert(iter,val)     //当前迭代器失效,返回插入元素的位置

.erase(iter)    //当前迭代器失效,返回迭代器的下一个位置,继续使用需要iter=.erase(iter) 

.rbegin(),.rend()   //反向迭代器

list没有下标操作,不能索引元素,必须遍历


list示例
运行结果

stack

.push()    //入栈

.top()      //返回栈顶元素

.pop()    //出栈,删除栈顶元素

queue

.push()    //入队

.pop()      //出队

.front()    //访问队首

.back()    //访问队尾


int a[3] = {1,3,5}; 

set<int> setc(a,a+3);  //用数组a初始化一个set;

setc.insert(2);      //默认按从小到大顺序,元素不能重复


map

mp.insert(make_pair("d",10));

mp.emplace("d",10);

统计字符串中每个字符出现的次数


string

没有结束符\0

提取子串
删改
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容