C++中STL容器set的应用

本文详细介绍了C++中STL容器set的应用,包括其基本操作、创建方式、初始化、增删改操作及自定义用法。讨论了如何使用set容器,并列举了其多种使用方式和成员函数,如empty(), count(), insert()等。" 106531120,9151818,Bentley-Ottmann算法实现:求解线段交点,"['算法', '计算几何', '数据结构', '图形学', '可视化']
摘要由CSDN通过智能技术生成

Set的简单应用


set为C++的一种标准关联容器,掌握其使用能大大方便理解和简化C++的编程。

set包含的头文件

  #include<iostream>

set的基本常用操作
使用时注意包含头文件<set>    std::set and std::multiset associative containers

s.begin()      返回set容器的第一个元素

s.end()      返回set容器的最后一个元素

s.clear()       删除set容器中的所有的元素

s.empty()     判断set容器是否为空

s.insert()      插入一个元素

s.erase()       删除一个元素

s.size()     返回当前set容器中的元素个数
set容器的创建方式

set是默认的小于比较容器,创建一个大于比较容器需要包含头文件functional

set中不允许存在两个相同的数据,但可采用multiset来存储相同的数据

#include<iostream>
#include<set>
#include<functional>

using namespace std;
int main()
{
	set<int> a;            //小于比较
	set<int,greater<int>>b;//大于比较
	multiset<int> c;  //允许相同数据
	return 0;
}
set容器的初始化

可用三种方式实行,数组初始、容器初始和调用复制构造函数初始

#include<iostream>
#include<set>
#include<functional>

using namespace std;

void setprint(set<int> alluse)
{
	cout<<"testout:"<<endl;
	for(set<int>::iterator it=alluse.begin();it!=alluse.end();it++)
	{
		 cout << *it << " ";
	}
	cout<<endl;
}
void setprint(set<int,greater<int>> alluse)
{
	cout<<"testout:"<<endl;
	for(set<int,greater<int>>::iterator it=alluse.begin();it!=alluse.end();it++)
	{
		 cout << *it << " ";
	}
	cout<<endl;
}
void setprint(multiset<int> alluse)
{
	cout<<"testout:"<<endl;
	for(multiset<int>::iterator it=alluse.begin();it!=alluse.end();it++)
	{
		 cout << *it << " ";
	}
	cout<<endl;
}
int main3()
{
	int data[6]={1,2,3,4,5,5};
	set<int> a(data,data+6);            //数组初始
	set<int,greater<int>>b(a.begin(),a.end());//容器初始
	set<int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值