Compartir a través de


parallel_sort (Función)

Organiza los elementos en un intervalo especificado en un orden no descendente, o de acuerdo con un criterio de ordenación especificado por un predicado binario, en paralelo. Esta función es semánticamente similar a std::sort que se trata una ordenación basada en comparación, inestable, en contexto.

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
);

Parámetros

  • _Random_iterator
    El tipo de iterador del intervalo de entrada.

  • _Function
    El tipo de functor binario de comparación.

  • _Begin
    Un iterador de acceso aleatorio que dirige la posición del primer elemento del intervalo que se ordenen.

  • _End
    Un iterador de acceso aleatorio que dirige la posición una más allá del último elemento en el intervalo que se ordenen.

  • _Func
    Un objeto definido por el usuario de la función de predicado que define el criterio de comparación que se completará por los elementos sucesivos del orden. Un predicado binario toma dos argumentos y devuelve true cuando se cumple y false cuando no se cumple. Esta función de comparador debe imponer orden débil estricta a pares de elementos de la secuencia.

  • _Chunk_size
    El tamaño de mimimum de un fragmento que se divide en dos para la ejecución en paralelo.

Comentarios

La primera sobrecarga utiliza el comparador binario std::less.

El segundo sobrecargado utiliza el comparador binario proporcionado debe tener la firma bool _Func(T, T) donde el tipo T de elementos en el intervalo de entrada.

El algoritmo divide el intervalo de entrada en dos partes y sucesivamente divide cada fragmento en dos sub- fragmentos para la ejecución en paralelo. El argumento opcional _Chunk_size se puede utilizar para indicar al algoritmo que debe partes de los identificadores de tamaño <_Chunk_size en serie.

Requisitos

Encabezado: ppl.h

Espacio de nombres: simultaneidad

Vea también

Referencia

concurrency (Espacio de nombres)