다음을 통해 공유


parallel_buffered_sort 함수

지정한 범위에 있는 요소는 nondescending 순서 또는 병렬로 이진 조건부를 지정 하 여 정렬 조건에 따라 정렬 합니다.이 함수에 의미상 유사 std::sort 필요한 경우를 제외 하 고 비교를 기반으로, 불안정, 내부 정렬을 일 O(n) 추가 공간을 정렬 하 고 해당 요소에 대 한 기본 초기화를 필요로 하 고.

template<
   typename _Random_iterator
>
inline void parallel_buffered_sort(
   const _Random_iterator &_Begin,
   const _Random_iterator &_End
);

template<
   typename _Allocator,
   typename _Random_iterator
>
inline void parallel_buffered_sort(
   const _Random_iterator &_Begin,
   const _Random_iterator &_End
);

template<
   typename _Allocator,
   typename _Random_iterator
>
inline void parallel_buffered_sort(
   const _Allocator& _Alloc,
   const _Random_iterator &_Begin,
   const _Random_iterator &_End
);

template<
   typename _Random_iterator,
   typename _Function
>
inline void parallel_buffered_sort(
   const _Random_iterator &_Begin,
   const _Random_iterator &_End,
   const _Function &_Func,
   const size_t _Chunk_size = 2048
);

template<
   typename _Allocator,
   typename _Random_iterator,
   typename _Function
>
inline void parallel_buffered_sort(
   const _Random_iterator &_Begin,
   const _Random_iterator &_End,
   const _Function &_Func,
   const size_t _Chunk_size = 2048
);

template<
   typename _Allocator,
   typename _Random_iterator,
   typename _Function
>
inline void parallel_buffered_sort(
   const _Allocator& _Alloc,
   const _Random_iterator &_Begin,
   const _Random_iterator &_End,
   const _Function &_Func,
   const size_t _Chunk_size = 2048
);

매개 변수

  • _Random_iterator
    반복기 형식 입력된 범위입니다.

  • _Allocator
    STL 호환 메모리 할당자는 유형을 지정 합니다.

  • _Function
    이진 비교 유형을 지정 합니다.

  • _Begin
    정렬 하려면 주소 범위의 첫 번째 요소 위치는 임의 액세스 반복기입니다.

  • _End
    정렬할 위치 하나 과거 범위의 마지막 요소 주소 지정을 임의 액세스 반복기입니다.

  • _Alloc
    STL 호환 메모리 할당자는 인스턴스.

  • _Func
    정의 비교 조건을 연속 요소를 순서에 의해 충족 되어야 하는 조건자 함수의 사용자 정의 개체입니다.두 인수를 사용 하 고 반환 하는 이진 조건부 true 만족 하는 경우 및 false 만족 하지 않을 때.이 비교 함수 엄격한 취약 한 쌍의 시퀀스 요소 순서를 부여 해야 합니다.

  • _Chunk_size
    Mimimum 크기의 두 병렬 분할 됩니다.

설명

모든 오버 로드에 필요 n * sizeof(T) 추가 공간을 위치 n 수 요소를 정렬 하는 및 T 의 요소 형식입니다.대부분의 parallel_buffered_sort 성능에서 개선 통한 표시 됩니다 parallel_sort, 및 사용 가능한 메모리가 있는 경우 parallel_sort를 통해 사용 해야 합니다.

이진 비교를 지정 하지 않으면 std::less 연산자를 제공 하는 요소 형식이 필요 합니다. 기본적으로 operator<().

할당 자가 형식이 나 인스턴스, STL 메모리 할당자를 지정 하지 않으면 std::allocator<T> 의 버퍼를 할당 하는 데 사용 됩니다.

입력된 범위의 두 청크로 나눕니다 알고리즘과 연속적으로 두 sub-chunks 병렬로 실행 하기 위해 각 청크를 나눕니다.선택적 인수는 _Chunk_size 알고리즘을 해야 처리는 청크 크기를 나타내기 위해 사용 되는 < _Chunk_size순차적으로 합니다.

요구 사항

헤더: ppl.h

네임 스페이스: 동시성

참고 항목

참조

동시성 네임스페이스