기초 공부/알고리즘

[C++] STL algorithm 정리 계획

기개 2022. 4. 28. 18:31

안녕하세요 기회개발자 기개입니다.

앞으로 STL에 있는 algorithm을 정리해볼 예정입니다.

정리에 앞서 algorithm에 어떤 내장함수들이 있는지 살펴보려고 합니다.

 

모든 내장함수를 다룰 것은 아니며 아래에 나열된 것들만 다루려고 합니다.

 

찾기

find : 범위 안에 원소들 중 값이 일치하는 원소 찾기

find_if : 범위 안에 원소들 중 조건과 일치하는 원소 찾기

 

세기

count : 범위 안에 원소들 중 값이 일치하는 원소들의 갯수 구하기

count_if : 범위 안에 원소들 중 조건과 일치하는 원소들의 갯수 구하기

 

지우기

remove : 특정 값과 같은 원소들 모두 지우기

remove_if : 특정 조건을 만족하는 원소들 모두 지우기

 

뒤집기

reverse : 특정 범위의 원소들의 순서를 거꾸로 바꾸기

 

정렬

sort : 특정 범위에 있는 원소들을 정렬하기 (quick sort)

 

 

 

순열

next_permutation : 특정 원소들의 다음 순열을 얻기

 

파티션 | 특정 조건을 만족하는 원소들은 앞으로 보내고 나머지들은 뒤로 보내 데이터를 나누는 작업

partition : 특정 범위의 원소들을 파티션하기

 

병합

merge : 두 개의 정렬된 원소들의 나열을 정렬된 상태가 유지되도록 합치기

 

set_union : 두 개의 정렬된 원소들의 합집합 구하기

set_intersection : 두 개의 정렬된 원소들의 교집합 구하기

set_difference : 두 개의 정렬된 원소들의 차집합 구하기

 

이외에 heap(priority_queue), binary search tree(set, map) 과 관련된 것은 자료구조에서 먼저 다루고,

구현은 알고리즘에서 다루겠습니다.