기타/C++ STL: 14개의 글
[STL] sort() 정렬 예제 순차열을 정렬하는 sort 알고리즘은 임의 접근 반복자(Random access iterator)를 요구하므로 vector와 deque에 sort() 알고리즘이 가능하다. 다른 컨테이너는 불가능하다.(연관 컨테이너는 컨테이너만의 정렬 기준을 가지고 있기 때문에 sort 알고리즘 적용이 말이 안된다.) sort(v.begin(), v.end()); 위와 같이 vector의 begini과 end를 사용하여 범위를 지정하면, 해당 범위에서 오름차순으로 정렬을 한다. 하지만 필요에 따라 정렬 기준을 변경할 필요가 있다.이럴 경우 함수 객체를 인자로 넘겨주면, 해당 함수 객체의 기준에 따라 정렬을 시도한다. 아래는 less 와 greater를 사용하여 정렬한 예제이다. 2019/..
[STL] find() 함수 예제 find 함수는 iterator 순차열 범위에서 원하는 값을 가진 iterator 반복자 위치를 찾아서 반환한다.만약 해당 값을 찾지 못하면 반환하는 iter 는 end() 를 가리킬 것이다. find() 함수는 순방향 반복자를 요구하기 때문에 순방향 반복자를 지원하는 컨테이너라면 수행할 수 있다. 아래는 find() 함수의 사용 예제 이다. #include #include #include using namespace std; int main(){ vector v; v.push_back(10); v.push_back(20); v.push_back(30); v.push_back(40); v.push_back(50); vector::iterator iter; iter = f..
[STL] 반복자 iterator 개념 및 예제 반복자는 컨테이너에 저장된 원소를 순회하고 접근하는 일반화된 방법을 제공한다.반복자는 컨테이너와 알고리즘이 하나로 동작하게 묶어주는 인터페이스 역할을 한다. 이 반복자 덕에 알고리즘은 특정 컨테이너에 종속적이지 않고 독립적이면서도 언제든지 컨테이너와 결합하여 동작할 수 있다. - 반복자는 컨테이너 내부의 원소(객체)를 가리키고 접근할 수 있어야 한다. (* 연산자)- 반복자는 다음 원소로 이동하고 컨테이너의 모든 원소를 순회할 수 있어야 한다. (++, !=, == 연산자 제공) 순차열은 하나의 시작과 하나의 끝을 갖는다. 여기서 반복자는 순차열의 한 원소를 가리킨다.순차열의 시작은 begin() 끝은 end() 이며, end()는 실제 원소의 끝이 아닌 ..
[STL] less, greater, plus, minus 예제 STL 에는 유용하게 사용할 수 있는 함수 객체가 내장돼 있다. less : 첫번째 인자가 두번째 인자보다 작으면 true 반환 (bool)greater : 첫번째 인자가 두번째 인자보다 크면 true 반환 (bool) plus : 두개의 인자를 더한 값 반환minus : 첫번째 인자에서 두번째 인자를 뺀 값 반환 less, greater, plus, minus STL 을 사용하기 위해서 #include 을 사용한다. #include #include using namespace std; int main(){ cout