Frozen0113 2014. 3. 19. 01:51

set 함수

 

 

생성, 복사, 소멸

 

동작 

 효과

 set c

 아무런 원소 없이 빈 set/multiset을 생성한다.

 set c(op)

 아무런 원소 없이 빈 set/multiset을 생성한다. 정렬 기준은 op를 사용한다.

 set c1(c2)  같은 타입으로 생성된 다른 set/multiset을 생성한다.
 set c(beg, end)

 (beg, end)의 범위로 초기화하여 set/multiset을 생성한다.

 set c(beg, end, op)

 (beg, end)의 범위로 초기화하여 set/multiset을 생성한다. 정렬 기준은 op를 사용한다.

 c.~set()

 모든 원소들을 파괴하고 메모리를 해제한다.

 

 

수정하지 않는 동작들

 

동작 

 효과

 c.size()

 실제 원소의 개수를 반환한다.

 c.empty()  컨테이너가 비어 있는지를 판단한다.(size() == 0 보다 빠르다.)
 c.max_size()  컨테이너가 가질 수 있는 최대 원소의 개수를 반환한다.
 c1 == c2

 c1과 c2가 같은지 판단한다.

 c1 != c2

 c1과 c2가 다른지 판단한다.

 c1 < c2

 c1이 c2보다 작은지를 판단한다.

 c1 > c2

 c1이 c2보다 큰지를 판단한다.

 c1 <= c2

 c1이 c2보다 작거나 같은지를 판단한다.

 c1 >= 2

 c1이 c2보다 크거나 같은지를 판단한다.

 

 

 

특별한 검색 함수들

 

동작 

 효과

 count(elem)

 elem의 값을 가지는 원소의 개수를 반환한다.

 find(elem)

 elem의 값을 가지는 첫 번째 원소의 위치를 반환한다. 만약 존재하지 않는다면 end()를 반환한다.

 lower_bound(elem)

 elem의 값보다 크거나 같은 값을 가지는 원소의 위치를 반환한다. 

 upper_bound(elem)

 elem의 값보다 큰 값을 가지는 원소의 위치를 반환한다. 

 equal_rage(elem)

 정렬된 상태를 깨트리지 않고 elem이 삽입될 수 있는 첫 번째 위치와 마지막 위치를 반환한다.

 

 

 

할당과 관련된 동작들

 

동작 

 효과

 c1 = c2

 c2의 모든 원소들은 c1에 할당한다.

 c1.swap(c2)

 c1과 c2의 데이터를 교환한다.

 swap(c1, c2)

 위와 동일.

 

 

 

 

반복자 함수

 

동작 

 효과

 c.begin()

 첫 번째 원소를 가리키는 랜덤 액세스 반복자를 반환한다. 
 c.end()

 맨 마지막 원소 뒤를 가리키는 랜덤 액세스 반복자를 반환한다.

 c.rbegin()

 역방향에서 첫 번째 원소의 역방향 반복자를 반환한다. 

 c.rend()

 역방향에서 마지막 원소 뒤를 가리키는 역방향 반복자를 반환한다.

 

 

원소의 삽입 및 제거

 

동작 

 효과

 c.insert(elem)

 elem의 복사본을 삽입하고 새로운 원소의 위치를 반환한다. set의 경우, 성공 여부도 포함하여 반환한다.

 c.insert(pos, elem)

 elem의 복사본을 삽입한다. 그리고 새로운 원소의 위치를 반환한다.

(pos는 삽입 위치를 찾기위해 어디서부터 검색을 시작할 것인지에 대한 힌트로만 사용된다)

 c.erase(elem)  값이 elem인 모든 원소들을 제거한다. 제거된 원소의 개수를 반환한다.

 c.erase(pos)

 반복자 pos 위치의 원소를 제거한다. 반환 값은 없다.
 c.erase(beg, end)

 beg, end 범위의 모든 원소들을 제거한다. 반환 값은 없다.

 c.clear()  모든 원소를 제거한다.(빈 컨테이너로 만든다).

 

 

 

 

 

출처 - The C++ Standard Library : A Tutorial and Reference