Download presentation
Presentation is loading. Please wait.
1
C++ Espresso 제15장 STL 알고리즘
2
STL 알고리즘을 사용하면 쉽게 탐색이나 정렬을 수행할 수 있습니다.
이번 장에서 학습할 내용 STL 알고리즘을 사용하면 쉽게 탐색이나 정렬을 수행할 수 있습니다. 반복자 탐색 알고리즘 비교 알고리즘 초기화 알고리즘 수치 알고리즘 함수 객체
3
STL 알고리즘 STL 기반의 탐색(searching), 정렬(sorting), 계수(counting) 알고리즘
4
STL 알고리즘의 분류
5
불변경 알고리즘
6
변경 알고리즘
7
반복자 컨테이너에서 다음 요소를 가리키기 위한 ++ 연산자 컨테이너에서 이전 요소를 가리키기 위한 -- 연산자
두개의 반복자가 같은 요소를 가리키고 있는 지를 확인하기 위한 ==와 != 연산자 반복자가 가리키는 요소의 값을 추출하기 위한 역참조 연산자 * v.begin() 함수는 컨테이너 v에서 첫 번째 요소를 반환한다. v.end() 함수는 컨테이너 v에서 마지막 요소를 지났는지를 나타내는 값을 반환한다.
8
예제
9
실행 결과
10
반복자의 종류 전향 반복자(forward iterator): ++ 연산자만 가능하다.
양방향 반복자(bidirectional iterator): ++ 연산자와 -- 연산자가 가능하다. 무작위 접근 반복자(random access iterator): ++ 연산자와 -- 연산자, [ ] 연산자가 가능하다.
11
예제
12
역순 반복자
13
공통 알고리즘
14
탐색 알고리즘: find()
15
find_if()
16
find_if()
17
search()
18
search()
19
count()
20
binary_search() 이진 탐색:
정렬된 리스트에서 만약 찾고자 하는 원소가 중간 원소보다 크면 찾고자 하는 원소는 뒷부분에 있고 반대이면 앞부분에 있다.
21
예제
22
예제
23
비교 알고리즘: equal()
24
예제
25
초기화 알고리즘: fill()
26
copy()
27
for_each()
28
transform()
29
remove()
30
sort()
31
sort()
32
함수 객체 함수 객체
33
내장된 함수 객체
34
예제
35
Q & A
Similar presentations