STL(set)

简介: STL(set)

集合


#include<set>
using namespace std;


insert()


插入元素


#include<set>
#include<string>
using namespace std;
int main(){
  set<string> country;  //{}
  country.insert("China");//{"China"}
  return 0;
}


erase()


删除元素


#include<set>
#include<string>
using namespace std;
int main(){
  set<string> country;         //{}
  country.insert("China");     //{"China"}
  country.erase("China");      //{}
  return 0;
}


count()


判断元素是否存在


#include<set>
#include<string>
#include<stdio.h>
int main(){
  set<string> country;
  country.insert("China");
  if(country.count("China")){
    cout<< "China belong to country" << endl;
  }
  return 0;
}


遍历元素


//set<T>::iterator it
#include<set>
#include<string>
#include<iostream>
using namespace std;
int main(){
  set<string> country;
  country.insert("China");
  country.insert("America");
  country.insert("France");
  for(set<string>::iterator it=country.begin(); it !=country.end();it++){
    cout<<*it<<endl;
  }
  return 0;
}


注:C++中,set遍历是从小到大的。


clear()


清空——会清空set占用的内存


重载运算符


重载<号


#include<iostream>
#include<set>
using namespace std;
struct Point{
  int x,y;
  bool operator <(const Point &rhs)const{
    if(x==rhs.x){
      return y<rhs.y;
    }else{
      return x<rhs.x;
      }
  }
};
int main(){
  int n;
  set<Point> v;
  cin>>n;
  for(int i=0;i<n;i++){
    Point temp;
    cin >>temp.x >> temp.y;
    v.insert(temp);
  }
  for(set<Point>::iterator it=v.begin(); it!=v.end();it++){
    cout<<it->x<<" "it->y<<endl;
  }
}



相关文章
|
存储 编译器 程序员
用同一棵红黑树实现map和set【STL】
用同一棵红黑树实现map和set【STL】
50 0
|
存储 C++ 容器
map、set、multimap和multiset的使用【STL】
map、set、multimap和multiset的使用【STL】
39 0
|
6月前
|
C++ 容器
【C++】红黑树模拟实现STL中的map与set
【C++】红黑树模拟实现STL中的map与set
|
5月前
|
存储 编译器 C++
|
4月前
|
存储 算法 C++
【C++高阶】探索STL的瑰宝 map与set:高效数据结构的奥秘与技巧
【C++高阶】探索STL的瑰宝 map与set:高效数据结构的奥秘与技巧
64 0
|
6月前
|
存储 C++ 容器
C++:STL - set & map
C++:STL - set & map
50 4
|
6月前
|
存储 Serverless C++
【C++入门到精通】哈希 (STL) _ unordered_map _ unordered_set [ C++入门 ]
【C++入门到精通】哈希 (STL) _ unordered_map _ unordered_set [ C++入门 ]
79 1
|
6月前
|
存储 搜索推荐 C++
【C++高阶(二)】熟悉STL中的map和set --了解KV模型和pair结构
【C++高阶(二)】熟悉STL中的map和set --了解KV模型和pair结构
|
6月前
|
C++ 容器
黑马c++ STL部分 笔记(8) set/ multiset 容器
黑马c++ STL部分 笔记(8) set/ multiset 容器
|
6月前
|
存储 C++ 容器
【STL】map和set的原理及其使用
【STL】map和set的原理及其使用