set的用法

点击查看代码
#include<cstdio>
#include<set>
#pragma warning(disable:4996)
using namespace std;

int main() {
	/*
	set<int> st;
	st.insert(3); //insert(x)将x插入set中
	st.insert(5); //st内部自动对元素排序,且不含重复元素
	st.insert(2);
	st.insert(3); //重复元素自动去除

	//set容器只能使用迭代器访问元素
	//st不支持it<st.end()写法,要使用it!=st.end(),st的迭代器不支持*(it+i)的访问方式
	for (set<int>::iterator it = st.begin(); it != st.end(); it++) {
		printf("%d", *it); //set:2 3 5
	}
	*/
	/*
	set<int> st;
	st.insert(3);
	st.insert(5);
	st.insert(1);
	st.insert(2); //st:1、2、3、5

	set<int>::iterator it = st.find(1); //将值为1的元素地址赋给迭代器it
	printf("%d\n", *it); //输出迭代器it指向的值1
	printf("%d\n", *(st.find(1))); //合并写法

	printf("%d\n", st.size()); //输出st内的元素个数,即4个
	st.clear(); //清空st容器内的所有元素
	*/

	set<int> st;
	st.insert(3);
	st.insert(5);
	st.insert(1);
	st.insert(2); //st:1、2、3、5
	st.erase(st.find(1)); //st.erase(it)删除迭代器it指向的元素
	st.erase(2); //st.erase(x)删除值为x的元素
	st.insert(4); //st:3、4、5
	set<int>::iterator it = st.find(4);
	st.erase(it, st.end()); //st.erase(first,last)删除[first,last)区间内的所有元素

	return 0;
}

posted @ 2022-09-30 23:01  zhaoo_o  阅读(17)  评论(0编辑  收藏  举报