<Algorithm>

STL에서 제공하는 <Algorithm>헤더 내 함수

1. sort

<aside> 📌 sort(start, end)

</aside>

<aside> 📌 //사용자 정의 함수를 사용하여 정렬 sort(v.begin(), v.end(), compare); //사용자 정의 함수 사용

//내림차순정렬 (Descending order) sort(v.begin(), v.end(), greater<자료형>());

//오름차순정렬 (default = Ascending order) sort(v.begin(), v.end(), less<자료형>());

</aside>

vector만이 아닌 string의 정렬도 가능!

<aside> 📌 stable_sort(start, end)

</aside>

2. transform

다양한 자료형의 요소 값 변경 시 사용

<aside> 📌 transform(v.begin(), v.end(), v.begin(), a);

</aside>

vector만이 아닌 string에도 사용 가능!

/*
 * ex. 알고리즘 문제에서 주어진 문자를 모두 소문자로 치환하라
 */
string str = "Hello World";
transform(str.begin(), str.end(), str.begin(), ::tolower);

3. count, count_if

vector나 set과 같은 컨테이너에서 특정 원소가 몇 개 존재하는지 (count)