![](https://img-blog.csdnimg.cn/20191230215732198.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++ STL
C++STL学习总结
Viatorz
no pain,no gain
展开
-
C++ lower_bound 与 upper_bound函数
头文件:#include <algorithm>时间复杂度:一次查询O(log n),n为数组长度。图示:lower_bound:功能:查找非递减序列[first,last) 内第一个大于或等于某个元素的位置。返回值:如果找到返回找到元素的地址否则返回last的地址。(这样不注意的话会越界,小心)用法:int t=lower_bound(a+l,a+r,key)...原创 2019-03-14 21:50:58 · 205 阅读 · 0 评论 -
STL vector
1 头文件#include <vector> 2 定义方式a) vector<int>v1;//vector元素为 int 型 b) vector<string>v2;// vector元素为string型 c) vector<node>v3;//入队元素为结构体型,结构体可以自行定义vector<int>...原创 2019-03-14 23:47:01 · 83 阅读 · 0 评论 -
STL set
1 定义set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。set中元素的值不能直接被改变。set内部采用的是一种非常高效的平衡检索二叉树:红黑树,也称为RB树(Red-Black Tree)。RB树的统计性能要好于一般平衡二叉树。2 用法s.begin() //返回指向第一个元素的迭代器s.end() //返回指向最后一个元素的迭代器s.clear() /...原创 2019-03-16 15:57:39 · 83 阅读 · 0 评论 -
STL stack
1 定义Stack(栈)是一种后进先出的数据结构,也就是LIFO(last in first out) ,最后加入栈的元素将最先被取出来,在栈的同一端进行数据的插入与取出,这一段叫做“栈顶”。不提供迭代器2 接口empty()堆栈为空则返回真pop()移除栈顶元素push()在栈顶增加元素size()返回栈中元素数目top()返回栈顶元素没有...原创 2019-03-21 11:13:38 · 74 阅读 · 0 评论 -
STL queue
1 定义队列是一种先进先出(FIFO) 的数据结构,它允许在一端插入数据,在另一端删除数据。最先进入队列的数据最先出队列。除此之外,队列还允许访问队头元素和队尾元素、获取队列长度和判断空列队等操作。队列不提供遍历的方法,也不提供迭代器。2接口q.back() 返回最后一个元素q.empty() 如果为空返回真q.front() 返回第一个元素q.pop() 删除第...原创 2019-03-22 18:36:00 · 395 阅读 · 0 评论