Algorithm/C++ STL
[C++] [STL] 7. set
쟌쥰
2019. 11. 29. 19:23
set 주요 함수
<기본형태>
- set : 원하는 자료형 및 클래스 T를 통해 생성
- 중복을 허용하지 않는다.
- 중복을 허용하려면 multiset 사용!!
<iterator = 반복자>
- begin() : beginning iterator 반환
- end() : end iterator 반환
<추가 및 삭제>
- insert(element) : 세트에 element 추가
- erase(element) : 세트에서 해당하는 element 삭제
- clear() : 세트에 있는 모든 원소 삭제
<조회>
- find(key) : key(키값)에 해당하는 iterator를 반환
- count(key) : key(키값)에 해당하는 원소들(value들)의 개수를 반환
<기타>
- empty() : 리스트가 비어있음 true 아님 false반환
- size() : 리스트 원소들의 갯수를 반환
예제 코드
#include<set>
int main(void) {
//set
set<string> s;
//insert(element)
s.insert("abc");
s.insert("def");
s.insert("ghi");
s.insert("jkl");
//erase
s.erase("jkl");
//empty(), size()
if (!s.empty())
cout << "s size : " << s.size() << endl;
//find(element)
cout << *s.find("abc") << endl;
cout << *s.find("def") << endl;
cout << *s.find("ghi") << endl;
//cout << *s.find("jkl") << endl; //erase했기때문에 실행시 런타임에러
//count(element)
cout << "abc count : " << s.count("abc") << endl;
//begin(), end()
cout << "traverse" << endl;
for (auto i = s.begin(); i != s.end(); i++) {
cout << "value : " << *i << endl;
}
}