본문 바로가기
C++ STL/Part 02 STL 이해

8장 알고리즘

by 노오오오오옹 2021. 6. 22.

1. 원소를 수정하지 않는 알고리즘

원소의 순서나 값을 변경하기 않고, 읽기만 하는 알고리즘이다.

  • 알고리즘(P:반복자, P:다음 반복자, B:반복자 시작점, E:반복자 끝점)
알고리즘 설명
p = adjacent_find(b,e) p = [b,e) 중 *p == *p+1인 첫 원소를 가르키는 것
p = adjacent_find(b,e, f) p = [b,e) 중 f(*p == *p+1)이 참인 첫 원소를 가르키는 것
n = count(b,e,x) n = [b,e) 중 x의 원소 개수
n = count(b,e,f) n = [b,e) 중 f(*p)이 참인 원소 개수
equal(b,e,b2) [b,e)와 [b2,b2-(b-e))의 모든 원소가 (==) 같은가?
equal(b,e,b2,f) [b,e)와 [b2,b2-(b-e))의 모든 원소가 f(*p == *q) 같은가?
p = find(b,e,x) p = [b,e) 중 x와 같은 첫 원소 위치
p = find_end(b,e,b2,e2) p = [b,e) 중 [b2,e2)의 순차열과 일치하는 위치(위치가 여러개라면 마지막 순차열)
p = find_if(b, e, f) p = [b,e)에 f(*p)가 참인 첫 원소의 위치
f = for_each(b,e,f) [b,e)에 f(*p) 동작을 적용한다. 이후 f는 돌려준다.
k = max(a,b) k = a와 b중 큰값
k = max(a,b,f) k = a와 b중 더 큰것, 이때 큰것의 계산은 f(a), f(b)로 계산한다.
k = min(a,b) k = a와 b중 작은값
k = min(a,b,f) k = a와 b중 더 작은값. 이때 계산은 f(a,b)

 

2. 원소를 수정하는 알고리즘

3. 제거 알고리즘

4. 변경 알고리즘

5. 정렬 알고리즘

6. 정렬된 범위 알고리즘

7. 수치 알고리즘

'C++ STL > Part 02 STL 이해' 카테고리의 다른 글

10장 반복자  (0) 2021.06.22
9장 STL 함수 객체  (0) 2021.06.22
7장 연관 컨테이너  (0) 2021.06.22
6장 시퀀스 컨테이너  (0) 2021.06.22
5장 STL 소개  (0) 2021.06.22

댓글