STL_set

基本概念

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):插入元素x

iterator insert(iterator it,x):在迭代器it处插入元素x

void 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;  
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值