parallel_radixsort funkce
Do jiných sestupné pořadí, pomocí Číselná soustava, algoritmus řazení uspořádá prvky v určeném rozsahu.Toto je stabilní řazení funkci, která vyžaduje funkce projekce, která lze prvky mají být řazeny do nepodepsané klíčů jako celé číslo projektu.Je vyžadován pro prvky řazené výchozí inicializace.
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
);
Parametry
_Random_iterator
Typ iterační vstupní oblasti._Allocator
Typ přidělování paměti kompatibilní STL._Function
Typ funkce projekce._Begin
Náhodný přístup iterační adresování pozici první prvek v rozsahu řazení._End
Náhodný přístup iterační adresování jednu pozici za poslední prvek v rozsahu řazení._Alloc
Instance kompatibilní paměť přidělování STL._Proj_func
Objekt projekce uživatelem definované funkce, převede prvek integrální hodnota._Chunk_size
Minimální velikost bloku dat, která rozdělí na dvě paralelní spuštění.
Poznámky
Vyžadují všechny přetížení n * sizeof(T) další místo, kde n je počet prvků seřazeny, a T je typ prvku.Functor unární projekce s podpisemI _Proj_func(T) je povinen vrátit klíče při prvku, kde T je typ prvku a I je typ jako celé číslo bez znaménka.
Pokud nezadáte funkce projekce, výchozí funkce projekce, který jednoduše vrátí prvek se používá pro typy integrálů.Funkce se nezdaří kompilace, pokud není prvek integrálního typu absence funkce projekce.
Pokud nezadáte přidělování typu nebo instance přidělování paměti STL std::allocator<T> slouží k přidělení vyrovnávací paměti.
Algoritmus vstupní oblast rozdělí na dva bloky a každý blok postupně rozdělí na dvě sub-chunks pro spuštění paralelně.Nepovinný argument _Chunk_size lze použít algoritmus označíte, že by zpracovává bloky velikosti < _Chunk_sizesériově.
Požadavky
Záhlaví: ppl.h
Obor názvů: souběžnosti