首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

STL之5:set/multiset用法详解

2013-02-18 
STL之五:set/multiset用法详解集合使用set或multiset之前,必须加入头文件setSet、multiset都是集合类,差

STL之五:set/multiset用法详解
集合使用set或multiset之前,必须加入头文件<set>

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

STL之5:set/multiset用法详解

sets和multiset内部以平衡二叉树实现

STL之5:set/multiset用法详解


1.   常用函数1)        构造函数和析构函数

set c:创建空集合,不包含任何元素

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)之间元素构成新集合。

c.~set()销毁所有元素,释放内存

multiset mc:创建空集合,不包含任何元素

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

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

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

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

c.~set()销毁所有元素,释放内存

#include "stdafx.h"#include <iostream>#include <set>using namespace std;int main (){int myints[]={12,75,10,32,20,25};set<int> first (myints,myints+3);     // 10,12,75set<int> second (myints+3,myints+6);  // 20,25,32first.swap(second);cout << "first contains:";for (set<int>::iterator it=first.begin(); it!=first.end(); ++it)cout << ' ' << *it;cout << '\n';cout << "second contains:";for (set<int>::iterator it=second.begin(); it!=second.end(); ++it)cout << ' ' << *it;cout << '\n';return 0;}



热点排行