record logo record

c++에서 set 컨테이너에 대해서 알아보겠습니다.

set container

set 사용법

set 선언

#include <set>
//set<type> 변수 명;
//ex) set<int> s;
//ex) set<pair<int, int> > s;

set의 생성자, 연산자

set<int> s; //기본 선언 방법
// set<int> s(정렬기준);
set<int> s2(s1); //s1을 s2에 복사

set의 멤버 함수

set<int> s;
for(iter = s.rbegin(); iter != s.rend(); iter++) {
    cout << *iter << "\n";
}

set 사용 예시

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MAX 100005

set<int> s;

int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    int n, m, num;
   
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> num;
        s.insert(num);
    }

    cin >> m;
    for (int i = 0; i < m; i++) {
        cin >> num;
        if(s.find(num) != s.end()){ //원소를 찾으면
            cout << "1\n";
        } else { //원소 못찾으면
            cout << "0\n";
        }
    }
    return 0;
}

References