본문 바로가기

알고리즘함수

(3)
[C++] STL - 정렬 알고리즘 함수 (sort, stable_sort, binary_search) 정렬 알고리즘 함수는 컨테이너의 지정된 범위의 요소들이 정렬되도록 컨테이너를 변경하는 함수이다. 모든 정렬 알고리즘 함수는 올바른 정렬을 위해 임의 접근 반복자를 사용한다. 따라서 임의 접근이 가능한 컨테이너만이 사용할 수 있다. sort() #include // < 를 이용한 비교 (1) template void sort(RandomIt first, RandomIt last); // 비교 함수 (comp) 를 이용한 비교 (2) template void sort(RandomIt first, RandomIt last, Compare comp); first부터 last 전까지의 원소들을 오름차순으로 정렬한다. first와 last는 임의 접근 반복자여야 한다. 따라서 list의 경우 sort 함수로 정렬할..
[C++] STL - 변경 알고리즘 함수 (copy, swap, transform, next_permutation) 변경 알고리즘 함수는 컨테이너를 변경하지 않으며, 컨테이너의 지정된 범위에서 요소의 값만을 변경할 수 있는 함수이다. STL에서 제공하는 대표적인 변경 알고리즘 함수에는 copy(), swap(), transform()이 있다. copy() #include template OutputIt copy(InputIt first, InputIt last, OutputIt d_first); first부터 last 전까지의 모든 원소들을 d_first부터 시작하는 곳에 복사한다. swap(), swap_range() #include template void swap (T& a, T& b) swap의 경우 해당 변수에 있는 값들을 서로 바꿔주는 역할을 한다. #include template< class Forward..
[C++] STL - 읽기 알고리즘 함수 (find, for_each) STL의 목적은 일반적인 알고리즘에 대한 효율적인 구현을 제공하는 것이다. 따라서 STL은 이러한 알고리즘을 STL 알고리즘 함수나 STL 컨테이너의 멤버 함수를 사용하여 구현하고 있다. STL 알고리즘은 기능별로 다음과 같이 구분할 수 있다. 읽기 알고리즘 (algorithm 헤더 파일) 변경 알고리즘 (algorithm 헤더 파일) 정렬 알고리즘 (algorithm 헤더 파일) 수치 알고리즘 (numeric 헤더 파일) 이 글에서는 읽기 알고리즘 함수에 대해 알아보자. 읽기 알고리즘 함수는 컨테이너를 변경하지 않으며, 컨테이너의 지정된 범위에서 특정 데이터를 읽기만 하는 함수이다. STL에서 제공하는 대표적인 읽기 알고리즘 함수에는 find(), for_each()가 있다. find() #includ..