find


컨테이너에 있는 데이터 중 원하는 것을 찾기 위해서는  find 알고리즘을 사용하면 된다. 참고로 알고리즘을 사용하려면 algorithm 헤더 파일을 추가해야 한다.

#include <algorithm>

 

 

 

 

<find를 사용하여 캐릭터의 아이템을 검색하는 예제 코드다.>

 

 

 

 

 

 

find_if


find를 사용하면 컨테이너에 있는 데이터 중 찾기 원하는 것을 쉽게 찾을 수 있다. 그런데 find만으로는 많이 부족하다. 이유는 find는 기본형만을 컨테이너에 저장하고 있을 때만 사용할 수 있다. 만약 유저 정의형을 저장하는 컨테이너는 find를 사용할 수 없다. 이럴 때는 조건자를 사용해야 한다. 즉, 좆건자에 어떤 방식으로 찾을지 정의하고, 알고리즘에서 이 조건자를 사용한다. find_if는 기본적으로 find와 같으며, 다른 점은 조건자를 받아들인다는것이다.

 

 

<find_if를 이용하여 특정 돈을 가지고 있는 유저 찾기 예제 코드>

 

 

 

 

 

for_each


for_each는 순차적으로 컨테이너들에 담긴 데이터를 함수의 파라미터로 넘겨서 함수를 실행시키는 알고리즘이다.

 

 

 

<for_each를 사용하여 유저들의 플레이 시간 갱신 예제 코드>

 

 

출처 : Thinking About C++ STL 프로그래밍 (최홍배 지음)

 

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

9. 정렬 관련 알고리즘(sort, binary_search, merge)  (0) 2017.10.10
8. 변경 가능 시퀀스 알고리즘(generate, copy, remove, replace)  (0) 2017.09.29
6. 셋(set)  (0) 2017.09.27
5. 맵(map)  (0) 2017.09.26
4. 해시 맵(hash_map)  (0) 2017.09.25

+ Recent posts