parallel_sort-Funktion
Ordnet die Elemente in einem angegebenen Bereich eine nondescending Reihenfolge oder gemäß einem Sortierkriterium an, das von einem binär Prädikat parallel angegeben wird.Diese Funktion ist semantisch ähnlich std::sort an, dass es sich um eine direkte, instabile, verglichene-basierte Sortierung erfolgt.
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
);
Parameter
_Random_iterator
Der Iterator den Typ des Eingabebereichs._Function
Der Typ des binären Vergleichsfunktionselements._Begin
Ein Iterator mit wahlfreier Zugriff, der die Position des ersten Elements im Bereich adressiert sortiert werden._End
Ein Iterator mit wahlfreier Zugriff, der die eine Position hinter dem letzten Element im Bereich adressiert sortiert werden soll._Func
Ein benutzerdefiniertes Prädikat funktionsobjekt, das das von aufeinander folgenden Elemente definiert in der Reihenfolge ausgeführt werden soll, kriterium Vergleichs.Ein binär Prädikat akzeptiert zwei Argumente und gibt true zurück, wenn erfüllt, und false, wenn es nicht erfüllt wird.Diese Vergleichsoperator Funktion muss eine strikte schwache Sortierung Paare von Elementen aus der Reihenfolge auferlegen._Chunk_size
Die mimimum Größe eines Ausschnitts, der in zwei für die parallele Ausführung geteilt wird.
Hinweise
Die erste Überladung verwendet den binären Vergleichsoperator std::less.
Das zweite Überladung verwendet den angegebenen binären Vergleichsoperator, der die Signatur bool _Func(T, T) haben soll, in der T der Typ der Elemente im Eingabebereich ist.
Der Algorithmus teilt der Eingabebereich in zwei Codeausschnitte und teilt nacheinander in jeder Ausschnitt in zwei Sub Ausschnitte parallel zur Ausführung unter.Das optionale Argument _Chunk_size kann verwendet werden, um den Algorithmus anzugeben, dass es sollte < Größe von ausschnitte Handle _Chunk_size seriell.
Anforderungen
Header: ppl.h
Namespace: Parallelität