Presentation is loading. Please wait.

Presentation is loading. Please wait.

C++ Espresso 제15장 STL 알고리즘.

Similar presentations


Presentation on theme: "C++ Espresso 제15장 STL 알고리즘."— Presentation transcript:

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


Download ppt "C++ Espresso 제15장 STL 알고리즘."

Similar presentations


Ads by Google