全部關聯容器頭提供一個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版本