STL—— set 常用函数

set 内的元素自动递增排序,且自动去除了重复元素。
set 只能通过迭代器(iterator)访问容器内的元素。

1. insert(x)

2. find(value)

#include<stdio.h>
#include<set>
using namespace std;
int main()
{
    
    
    set<int> st;
    for(int i = 1; i <= 3; i++)
    {
    
    
    	st.insert(i);
	}
	set<int>::iterator it = st.find(2);
	printf("%d\n", *it);
	return 0;
}

3. erase()

① 删除单个元素。

  • st.erase(it)
  • st.erase(value)
#include<stdio.h>
#include<set>
using namespace std;
int main()
{
    
    
    set<int> st;
    st.insert(100);
    st.insert(200);
    st.insert(100);
    st.insert(300);
    st.erase(st.find(100));
    st.erase(200);
    for(set<int>::iterator it = st.begin(); it != st.end(); it++)
    {
    
    
    	printf("%d ", *it);
	}
	return 0;
}

② 删除区间元素。

#include<stdio.h>
#include<set>
using namespace std;
int main()
{
    
    
    set<int> st;
    st.insert(20);
    st.insert(10);
    st.insert(40);
    st.insert(30);
    set<int>::iterator it = st.find(30);
    st.erase(it, st.end());
    for(set<int>::iterator it = st.begin(); it != st.end(); it++)
    {
    
    
    	printf("%d ", *it);
	}
	return 0;
}

4. size()

5. clear()

猜你喜欢

转载自blog.csdn.net/tian__si/article/details/113781373