Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

cloge 이야기

std::set 사용법 본문

Algorithm

std::set 사용법

VennTum 2016. 3. 27. 15:04


...set operator만 해결하면 잘 쓸줄 알았다...

하지만 아니었다. 어떤 문제에서 set을 쓰다가 잘못써서 10번도 넘게 제출했다...(APIO 2007 Backup...)


다시 한 번 set을 잘 쓰길 기원하며 정리한다.



insert( data key ) - set에 원소를 넣는다. 넣는 형태는 정의한 자료형

begin() - 정의된 set의 operator 연산의 첫 원소의 주소를 반환한다.

end() - 정의된 set의 마지막 원소 다음번 주소를 반환한다. 즉, 마지막 원소를 가리키고 있는 iterator를 ++ 시키면 end() 주소를 가리키게 된다.

rbegin() - 정의된 set의 operator 연산의 마지막 원소의 주소를 반환한다.

lower_bound( data key ) - data 자료형의 key의 operator 연산 상 이상인 첫 원소의 주소를 반환한다.

upper_bound( data key ) - data 자료형의 key의 operator 연산 상 초과인 첫 원소의 주소를 반환한다.

count( data key ) - multiset에서 의미가 있는 함수, key에 해당하는 원소의 수를 반환한다.

find( data key ) - key에 해당하는 자료가 존재하면 그 위치를 반환, 아니면 end() 위치를 반환한다. multiset에서는 같은 key 중 하나를 반환한다.

size() - set에 들어있는 key의 수를 반환한다, multiset에서는 중복되는 key들도 센다.

erase( set<data> :: iterator ) set의 iterator에 해당하는 주소 공간을 set에서 지운다, 존재하지 않는 주소 공간을 지우려고 하면 RTE!! 물론 end()도 RTE다. (본인은 이것에서 헤멨다....ㅠㅠㅠ)

clear() - set의 모든 원소를 지운다.

empty() - set 내 원소가 존재하지 않으면 1, 아니면 0을 반환한다.



하하...


다시는 헤메지 않도록 해야...하는데 말이다. ㅇㅅㅇ


'Algorithm' 카테고리의 다른 글

Shortest Path Algorithm - Floyd-Warshall  (0) 2016.08.24
Shortest Path Algorithm - Bellman-Ford  (0) 2016.08.23
Shortest Path Algorithm - Dijkstra  (0) 2016.08.22
Disjoint Set Union  (0) 2016.08.21
Sparse Table  (0) 2016.08.20
Comments