若要檢視英文版的文章,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

parallel_radixsort 函式

 

使用基數排序排序演算法,排列指定範圍內的元素至非遞減。這是一個需要可將項目排序成不帶正負號的整數索引鍵的投影函式的穩定排序函式。預設初始化對於排序的元素是必要的。

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

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

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

template<
   typename _Random_iterator,
   typename _Function
>
inline void parallel_radixsort(
   const _Random_iterator &_Begin,
   const _Random_iterator &_End,
   const _Function &_Proj_func,
   const size_t _Chunk_size = 256 * 256
);

template<
   typename _Allocator,
   typename _Random_iterator,
   typename _Function
>
inline void parallel_radixsort(
   const _Random_iterator &_Begin,
   const _Random_iterator &_End,
   const _Function &_Proj_func,
   const size_t _Chunk_size = 256 * 256
);

template<
   typename _Allocator,
   typename _Random_iterator,
   typename _Function
>
inline void parallel_radixsort(
   const _Allocator& _Alloc,
   const _Random_iterator &_Begin,
   const _Random_iterator &_End,
   const _Function &_Proj_func,
   const size_t _Chunk_size = 256 * 256
);

_Random_iterator

輸入範圍的迭代器類型。

_Allocator

STL 相容的記憶體配置器類型。

_Function

投影函式的類型。

_Begin

隨機存取迭代器,定址要排序之範圍中第一個項目的位置。

_End

隨機存取迭代器,定址要排序之範圍中越過最後一個項目的位置。

_Alloc

STL 相容的記憶體配置器的執行個體。

_Proj_func

轉換項目成為一個整數值執行使用者定義的投影函式物件。

_Chunk_size

要分割成兩個並行執行大量的 mimimum 大小。

所有多載需要 n * sizeof(T) 額外的空間, n 是要排序之項目的數目,而 T 是項目型別。當建立項目需要使用此簽章簽署之I _Proj_func(T) 的一個項目的投影函式會傳回索引鍵, T 是項目型別,而且 I 是不帶正負號的整數類資料型別。

如果您不提供一個投影函式,傳回這個項目的預設投影函式為整數型別使用。如果項目不是整數類資料型別在沒有投影函式時,函式無法編譯。

如果您不提供配置器型別或執行個體, STL 記憶體配置器會使用 std::allocator<T> 配置的緩衝區。

演算法除以輸入範圍成兩個大量平行和循序除以每個區塊成執行兩個子區塊。選擇性 _Chunk_size 引數可用來指示演算法它持續應該大小 < _Chunk_size 控制代碼區塊。

需求

標頭: ppl.h

命名空間:concurrency

顯示: