내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필

왜냐하면, 각각의 역활이 다르기 때문에 구현이 다르다. 이 구현이 다르다는 의미는 속도, 부하가 다르다는 의미이다. 그러므로 제대로 파악하자는 취지에서 쓰여진 항목이다.

정리하자면 http://turboc.borlandforum.com/impboard/impboard.dll?action=read&db=cpp_tip&no=25

질문

(해야 할 작업들)

사용할 알고리듬

사용할 멤버 함수

정렬되지 않은 범위

정렬된 범위

set 또는 map

multiset 또는 multimap

원하는 값이 있는가?

find

binary_search

count

find

원하는 값이 있는가? 있다면 그 값을 가진 첫 번째 객체는 어디인가?

find

equal_range

find

find 또는 lower_bound

원하는 값을 삽입할 첫 번째 위치는 어디인가?

find_if

lower_bound

lower_bound

lower_bound

원하는 값을 삽입할 마지막 위치는 어디인가?

find_if

upper_bound

upper_bound

upper_bound

원하는 값을 가진 객체는 몇 개인가?

count

equal_range

count

count

원하는 값을 가진 객체의 모든 위치는?

find

(계속 호출)

equal_range

equal_range

equal_range




알고리즘 설명 링크
http://www.cplusplus.com/reference/algorithm/ <-- 영문

관련링크
http://lagoons.net/tt/612
http://ilu8318.egloos.com/861930
http://oldpie.yoonkn.com/cgi-bin/moin.cgi/EffectiveStlSum7#head-8765a52ea4020d38179e65fe51c6deee52b6d02b
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기