STL库(multiset、set)

#include<set>

multiset<T> st; //st里可以自动存放T类型的数据并自动排序,开始st为空
multiset<T, greater<T>> st;
multiset<T, 排序规则结构名> st;

st.insert(值); //添加元素
st.erase(迭代器); //删除元素
st.find(值); //查找元素,返回迭代器,找不到==st.end();
st.count(值); //返回st中元素的个数

multiset<T>::iterator p; 
//p是迭代器,相当于指针,访问multiset中的元素要通过迭代器
//可以++、--,用==或!=比较
//不可比大小、加减整数

st.begin(); //返回值类型为multiset<T>::iterator,是指向第一个元素的迭代器
st.end(); //指向最后一个元素的后面的迭代器

i = st.lower_bound(值); //[begin(),i)的元素在值前
i = st.upper_bound(值); //[i,end())的元素在值后


set<T> st;
//和multiset区别在于set不能有重复元素(a必须在b前、b必须在a前都不成立)
//插入元素可能不成功

pait<T1, T2>等价于:
struct{
    T1 first;
    T2 second;
}

验证插入set有没有成功:
pair<set<T>::iterator, bool> result = st.insert(元素);
成功:
result.first指向刚被插入的元素
result.second为true
失败:
result.first指向set中已有的与待插入元素重复的元素
result.second为false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值