C++ Set
C++ ·C++의 set 자료구조 정리해놓습니다!
흔히 알다시피 set은 중복을 제외한 값을 저장하는 자료구조입니다.
자동으로 정렬도 된다고 합니다…!
사용예시입니다!
#include <iostream>
#include <set> // 라이브러리 선언
using namespace std;
set<int> s; // set 선언
int main() {
cout << S.empty() << '\n'; //1
S.insert(2);
S.insert(4);
S.insert(-10);
S.insert(4);
S.insert(9);
cout << S.empty() << '\n';//0
cout << S.size() << '\n';//4
for (auto iter = S.begin(); iter != S.end(); iter++) //순차적 원소 출력
cout << *iter << ' '; //-10 2 4 9
cout << '\n';
for (auto iter = S.end();; iter--) {//거꾸로 원소 출력
if (iter == S.end()) continue;
cout << *iter << ' '; // 9 4 2 -10
if (iter == S.begin()) break;
}
cout << '\n';
S.erase(2);
for (auto iter = S.begin(); iter != S.end(); iter++) //순차적 원소 출력
cout << *iter << ' '; // -10 4 9
cout << '\n';
S.clear();
cout << S.empty() << '\n'; //1
return 0;
}
- s.insert(val); //원소 val을 삽입
- s.erase(val); //원소 val 삭제
- s.clear(); // 모든 원소 삭제
- s.count(val) ; //원소 val의 갯수(0 혹은 1)
- s.begin(); //첫 번째 원소
- s.end(); // 마지막 원소의 다음
- s.size(); //원소의 갯수
- s.empty(); //원소가 있는지 없는지 (0 혹은 1)
필요한 내용이 생기면 더 추가하겠습니다.
연습으로 백준의 18870번 문제 좌표 압축을 풀어보시면 좋을 것 같습니다.
https://www.acmicpc.net/problem/18870