티스토리 뷰

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;
	}
}

'Algorithm > C++ STL' 카테고리의 다른 글

[C++] [STL] 8. priority_queue  (0) 2019.11.29
[C++] [STL] 6. hash_map  (0) 2019.11.29
[C++] [STL] 5. map  (0) 2019.11.29
[C++] [STL] 4. list  (0) 2019.11.29
[C++] [STL] 3. vector  (0) 2019.11.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함