全部关联容器头提供一个insert,用以插入元素(键值对) set于multiset都支持双向迭代器。 Set: 全部的关联容器关心的是健值对。 set中的元素是键值对。只不过键和值相等而已。 插入删除元素时,set中的元素会按键进行排序。 默认按键的升序排列,less<T> (即operator< 表示前比后小) 降序序列,greater<T> (即operator> 标识前比后大) Set<Key> API 集合也当作关联容器,其键、值相等。关键字按比较器类型排序(默认升序,less<T>) set<Key_type> multiset<key_type>的接口大体相同。不一样的是多值集合容许关键字重复 SET API set的构造函数: set<Key_type>() ; 生成一个空集 set<key_type>(a,b) ; 用迭代子区间[a,b)去初始化 增长元素: .insert(key) ;把key标识的元素插入集合(不容许插入重复值) .insert(set<T>::iterator pos,const T&key); 把key插入pos迭代器 引用的位置以前。这个pos只起到提示的做用,真正插在什么位置。由 容器处理元素的顺序和key自己决定。 删除元素: int .erase(key); 删除key指定的元素,并返回实际删除的key的个数 .erase(迭代子位置pos) 迭代子位置不容许使用:it+n相似的求值 查找元素: .find(key) 按关键字查找,返回元素位置(迭代子) 计数: .count(key) 返回key元素的个数。set要么是0,要么是1 multiset返回非负数。 multiset: 和set相似,只不过其容许重复的关键字表明的元素。 支持insert接口? 全部的STL容器都有至少一个insert版本