parallel_sort 함수
비 내림차순 순서 또는 이진 조건자에 의해 지정된 순서 기준(병렬)에 따라 지정된 된 범위에 있는 요소를 정렬 합니다. 이 함수는 비교 기반, 불안정, 제자리에 정렬 이라는 점에서 std::sort 와 의미적으로 유사합니다.
template<
typename _Random_iterator
>
inline void parallel_sort(
const _Random_iterator &_Begin,
const _Random_iterator &_End
);
template<
typename _Random_iterator,
typename _Function
>
inline void parallel_sort(
const _Random_iterator &_Begin,
const _Random_iterator &_End,
const _Function &_Func,
const size_t _Chunk_size = 2048
);
매개 변수
_Random_iterator
입력 범위의 반복기 형식입니다._Function
이진 비교 함수의 형식입니다._Begin
저장할 범위에 있는 첫 번째 요소의 위치를 가리키는 임의 접근 반복기입니다._End
저장할 범위에 있는 마지막 요소의 하나 뒤 위치를 가리키는 임의 접근 반복기입니다._Func
연속된 요소 순서에 의해 충족 되도록 비교 조건을 정의하는 조건자 함수의 사용자 정의 개체입니다. 이진 조건자는 두 개의 인수를 사용하고 만족할 때는 truefalse를 만족하지 못할 때는 를 반환합니다. 이 비교 함수는 엄격한 순서는 시퀀스의 요소 쌍에 적용해야 합니다._Chunk_size
병렬 실행을 위한 두 개로 분할된 청크의 최소 크기입니다.
설명
첫 번째 오버 로드는 이진 비교 연산자 std::less 를 사용합니다.
두 번째 오버로드는 bool _Func(T, T) 시그니처를 가진 제공된 이진 비교 연산자를 사용합니다. T 는 입력된 범위에 있는 요소의 형식입니다.
알고리즘은 입력된 범위의 두 조각으로 나누고 연속적으로 각 청크 병렬에서 실행을 위해 두 개의 하위 청크로 나눕니다. 선택적 인수 _Chunk_size 는 직렬로 < _Chunk_size 크기의 청크를 처리하는 알고리즘을 나타내는데 사용할 수 있습니다.
요구 사항
헤더: ppl.h
네임스페이스: 동시성