STL_set

来源:互联网 发布:七龙珠同人小说知乎 编辑:程序博客网 时间:2024/06/14 04:44

基本概念

Set、multiset都是集合类,差别在与set中不允许有重复元素,multiset中允许有重复元素。

构造函数

set c(op):以op为排序准则,产生一个空的set

set c1(c2):复制c2中的元素到c1中

set c(const value_type first, const value_type last):复制[first, last)之间元素构成新集合

set c(const value_type first, const value_type last,op):以op为排序准则,复制[first, last)之间元素构成新集合。

成员函数

1.int size() const:返回容器元素个数
2.bool empty() const:判断容器是否为空,若返回true,表明容器已空

3.insert函数

pair<iterator,bool> insert( x):插入元素xiterator insert(iterator it,x):在迭代器it处插入元素xvoid insert(const value_type *first,const value_type *last):插入[first, last)之间元素

4.erase函数

iterator erase(iterator it):删除迭代器指针it处元素iterator erase(iterator first,iterator last):删除[first, last)之间元素size_type erase(const Key& key):删除元素值等于key的元素

5. iterator begin():返回首元素的迭代器指针

  1. iterator end():返回尾元素的迭代器指针
  2. reverse_iterator rbegin():返回尾元素的逆向迭代器指针
  3. reverse_iterator rend():返回首元素前一个位置的迭代器指针

  4. const_iterator lower_bound(const Key& key):返回容器中大于等于key的迭代器指针

  5. const_iterator upper_bound(const Key& key):返回容器中大于key的迭代器指针

    1. int count(const Key& key) const:返回容器中元素等于key的元素的个数
    2. pair

应用实例

#include <iostream>  #include <set>  int main ()  {    std::set<int> myset;    std::set<int>::iterator it;    // insert some values:    for (int i=1; i<10; i++) myset.insert(i*10);  // 10 20 30 40 50 60 70 80 90    it = myset.begin();    ++it;                                         // "it" points now to 20    myset.erase (it);    myset.erase (40);    it = myset.find (60);    myset.erase (it, myset.end());    std::cout << "myset contains:";    for (it=myset.begin(); it!=myset.end(); ++it)      std::cout << ' ' << *it;    std::cout << '\n';    return 0;  }  
0 0
原创粉丝点击