#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
STL库(multiset、set)
于 2023-02-08 16:42:28 首次发布