ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • std::set 사용법
    카테고리 없음 2019. 12. 27. 15:13

    ...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을 반환한다.

     

     

    하하...

     

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

     

Designed by Tistory.