STL总结

find

algorithm下的。

C++中对于STL容器查找某个元素是否存在,一律使用algorithm下的find函数。

例如:find( it1 , it2 , 值)返回值是一个迭代器,对于string,vector可以通过减去begin找到下标,因为他们底层是数组,但是对于set 缺不行,因为他们底层实现是红黑树。

对于map查看key是否存在不可以使用find,用自己的方法mp.count(值)来判断。
set也可以使用st.count(值得)判断。

reverse

algorithm下的

reverse( it1 , it2 ) 进行翻转,没有返回值。

string

str = s.substr(index , len ) 截取字符串中的某一长度。返回值是string

s.erase(it1 , it2 );删除一部分,无返回值

vector

v.push_back();添加元素

v.pop_back();删除最尾元素

v.erase(it1 , it2 );删除一部分,无返回值

v.insert(it , x);

set

st.insert();添加元素

st.erase(it1 , it2 );删除一部分,无返回值

遍历:

set < int > ::iterator it=st.begin();

for(;it++;it!=st.end())
{
}

map

mp.insert();添加元素

mp.erase(it1 , it2 );删除一部分,无返回值

遍历:

map < int,int > ::iterator it=mp.begin();

for(;it++;it!=st.end())

{
​      cout<< it->first << it->second;
}

stack

push();加入元素

top();栈顶元素

pop();弹出栈顶元素

empty();判断是否为空

queue

push()

front()

pop()

empty()

lower_bound()和upper_bound();

进行二分查找,底层就是通过二分实现的。看过他们他们的实现的话就会发现他们底层就一个等于号不同。
lower_bound():查找第一个大于等于的数,返回值是一个地址
lower_upper():查找第一个大于的数,返回值是一个地址

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值