set与map不一样之处在于set的键值和时值是一样的,且个元素的值不能重复,容器会根据键的大小默认按升序排序,set底层也是红黑树。
multiset则允许键重复。
例如:
cpp
#include<iostream>
#include<set>
using namespace std;
int main()
{
set<int>st;//不可重复
//multiset<int>st;//可重复
//st[10] = 10;//set没有[]访问形式
st.insert(4);
st.insert(1);
st.insert(3);
st.insert(2);
st.insert(2);
set<int>::iterator ite = st.begin();
while(ite!=st.end())
{
//*ite = 10;不能此法修改
cout << *ite << endl;//会输出1234
ite++;
}
return 0;
}