Graphisoft®

GSRootVersion: 1.0

Partition

범위 내의 요소를 2개의 분리 집합으로 분류하고, 이러한 요소들은 그것을 만족시키지 못하는 요소보다 먼저 단일 술어를 만족시킵니다.

template <class Bi, class Pred>
Bi Partition (
    Bi                  first,
    Bi                  last,
    Pred                pred
);

Template 파라미터

Bi
양방향 반복자입니다.
Pred

파라미터

first
분할될 범위의 1번째 요소의 위치를 설명하는 양방향 반복자입니다.
last
분할될 범위의 마지막 직전 요소의 위치를 설명하는 양방향 반복자입니다.
pred
요소를 분류할 경우 충족되는 조건을 정의하는 사용자 정의 술어 함수 객체입니다. 술어는 1개의 인자를 취하며 true 또는 false를 리턴합니다.

리턴 값

술어 조건을 만족하지 않는 범위에서 1번째 요소의 위치를 설명하는 양방향 반복자입니다.

설명

Partition은 술어 pred를 기반으로 범위 [first, last)의 요소들을 재정렬합니다. 이때 pred를 만족하는 요소들은 그것을 만족시키지 못한 다른 요소들보다 앞섭니다. 후조건은 다음과 같습니다. Partition의 리턴 값은 mid입니다. 범위 [first, last)의 일부 반복자 mid가 있다고 하면 범위 [first, mid)의 모든 반복자 i에 대해서 pred (*i)true이고 범위 [mid, last)의 모든 반복자 i에 대해서 pred (*i)false입니다.

참고사항

알고리즘