Compartir a través de


multiset Class

La biblioteca estándar de plantilla de clase de conjunto múltiple se utiliza para el almacenamiento y recuperación de datos de una colección en que los valores de los elementos contenidos no es necesario únicos y que sirven como los valores de clave en las que se ordenan automáticamente los datos.El valor clave de un elemento en un conjunto múltiple no se puede cambiar directamente.En su lugar, se deben eliminar los valores antiguos y insertan elementos con nuevos valores.

template <
   class Key, 
   class Compare=less<Key>, 
   class Allocator=allocator<Key> 
>
class multiset

Parámetros

  • Clave
    El tipo de datos de elemento se almacena en el conjunto múltiple.

  • Comparar
    El tipo que proporciona un objeto de función que puede comparar dos valores de elemento como criterios de ordenación para determinar su orden relativo en el conjunto múltiple.El predicado binario menos<Key> es el valor predeterminado.

  • Allocator
    El tipo que representa el objeto asignador almacenado que encapsula los detalles acerca de la asignación y desasignación de memoria del conjunto múltiple.El valor predeterminado es Asignador*<Key>.*

Comentarios

La STL clase de conjunto múltiple es:

  • Un contenedor asociativo, que es un contenedor de tamaño variable que admite la recuperación eficiente de los valores de elementos basándose en un valor de clave asociado.

  • Reversible, ya que proporciona los iteradores bidireccionales para tener acceso a sus elementos.

  • Ordenados, ya que sus elementos se ordenan por los valores de clave dentro del contenedor con arreglo a una función de comparación especificado.

  • Múltiples en el sentido de que sus elementos no es necesario tener claves únicas, para que un valor de clave puede tener muchos valores de elementos asociados con él.

  • Un simple contenedor asociativo porque sus valores de los elementos son sus valores de clave.

  • Una clase de plantilla, debido a que la funcionalidad proporciona es genérico y tan independiente del tipo específico de datos que contiene como elementos.El tipo de datos que se utilizará en su lugar, es, especificado como parámetro en la plantilla de clase junto con la función de comparación y el asignador.

El iterador proporcionado por la clase de conjunto múltiple es un iterador bidireccional, pero las funciones de miembro de clase Insertar y multiset con versiones que toman como parámetros de plantilla un iterador de entrada más débil, cuyos requisitos de funcionalidad son más sencillo que la garantizada por la clase de los iteradores bidireccionales.Los conceptos de iterador diferentes forman una familia relacionada por mejoras en su funcionalidad.Cada concepto de iterador tiene su propio conjunto de requisitos y los algoritmos que trabajan con ellos deben limitar sus suposiciones con los requisitos establecidos por el tipo de iterador.Se puede suponer que un iterador de entrada se puede anular la referencia para hacer referencia a algún objeto y que se puede incrementar al iterador siguiente en la secuencia.Se trata de un conjunto mínimo de funcionalidad, pero es suficiente para poder hablar con sentido de un rango de los iteradores [_First, _Last) en el contexto de las funciones de miembro de la clase.

La elección del tipo de contenedor debe basarse en general en el tipo de búsqueda y insertar requeridos por la aplicación.Contenedores asociativos están optimizados para las operaciones de búsqueda, inserción y eliminación.Las funciones miembro que admiten explícitamente estas operaciones son eficaces, llevarlos a cabo en un tiempo promedio proporcional al logaritmo del número de elementos en el contenedor.Insertar elementos no invalida ningún iteradores y quitando elementos invalida sólo los iteradores que habían indicado específicamente en los elementos eliminados.

El conjunto múltiple debe ser el contenedor de elección cuando las condiciones de asociación de los valores con sus claves son asociativo satisface la aplicación.Los elementos de un conjunto múltiple pueden ser múltiples y servir a sus propios criterios de ordenación, por lo que las claves no son únicas.Un modelo para este tipo de estructura es una lista ordenada de palabras por ejemplo, en que las palabras pueden producirse más de una vez.Varias apariciones de las palabras no se habían permitidas, a continuación, un conjunto habría sido la estructura de contenedor adecuado.Si estaban conectadas definiciones únicas como los valores a la lista de palabras clave únicas, un mapa sería una estructura adecuada para que contenga estos datos.Si en su lugar las definiciones no eran exclusivas, una multimap sería el contenedor de elección.

El conjunto múltiple ordena la secuencia controla mediante una llamada a un objeto almacenado la función del tipo de Compare.Este objeto almacenado es una función de comparación que se accede mediante una llamada a la función miembro key_comp.En general, los elementos necesitan ser simplemente menos comparables para establecer este orden: para que, teniendo en cuenta los dos elementos, podrá determinarse ya sea que son equivalentes (en el sentido de que tampoco es menor que la otra) o uno es menor que la otra.Esto da como resultado un orden entre los elementos equivalentes.De forma más técnica, la función de comparación es un predicado binario que induce un estricto orden no estricto en el sentido matemático estándar.Un predicado binario f(x,y) es un objeto de función que tiene dos objetos de argumento x y y y un valor devuelto de true o false.Un impuesto en un conjunto de pedidos es un débil estricta de pedidos si el predicado binario es intransitiva, antisimétrica y transitiva y si la equivalencia es transitiva, donde dos objetos x e y se definen para ser equivalente cuando ambos f(x, y) y f(y, x) son false.Si la condición más restrictiva de la igualdad entre las claves sustituye de la equivalencia, la ordenación se convierte en total (en el sentido de que todos los elementos se ordenan con respecto a la otra) y las claves coincidentes se indiscernibles entre sí.

w5txk7zc.collapse_all(es-es,VS.110).gifConstructores

conjunto múltiple

Construye un multiset es vacío o es una copia de todos o parte de un tipo de multiset.

w5txk7zc.collapse_all(es-es,VS.110).gifTypedefs

allocator_type

Una definición de tipo para el allocator de clases para el multiset objeto.

const_iterator

Una definición de tipo para un iterador bidireccional que puede leer un const elemento de la multiset.

const_pointer

Una definición de tipo para un puntero a un const elemento de un multiset.

const_reference

Una definición de tipo para una referencia a un const elemento almacenado en un multiset para leer y realizar const las operaciones.

const_reverse_iterator

Una definición de tipo para un iterador bidireccional que puede leer ninguno const elemento de la multiset.

difference_type

Una definición de tipo entero con signo del número de elementos de un multiset en un intervalo entre los elementos al que señala los iteradores.

Iterador

Una definición de tipo para un iterador bidireccional que puede leer o modificar cualquier elemento en un multiset.

key_compare

Una definición de tipo para un objeto de función que puede comparar dos claves para determinar el orden relativo de dos elementos de la multiset.

KEY_TYPE

Una definición de tipo para un objeto de función que puede comparar dos claves de ordenación para determinar el orden relativo de dos elementos de la multiset.

pointer

Una definición de tipo para un puntero a un elemento en un multiset.

Referencia .

Una definición de tipo para una referencia a un elemento almacenado en un multiset.

reverse_iterator

Una definición de tipo para un iterador bidireccional que puede leer o modificar un elemento en un invertida multiset.

size_type

Un tipo de entero sin signo que puede representar el número de elementos de un multiset.

value_compare

Typedef para un objeto de función que puede comparar dos elementos como criterios de ordenación para determinar su orden relativo en el multiset.

value_type

Una definición de tipo que describe un objeto almacenado como un elemento como un multiset en su capacidad como un valor.

w5txk7zc.collapse_all(es-es,VS.110).gifMétodos

begin

Devuelve un iterador que señala el primer elemento de la multiset.

clear

Borra todos los elementos de un multiset.

count

Devuelve el número de elementos en un multiset cuya clave coincida con la clave especificada como un parámetro.

empty

Comprueba si un multiset está vacía.

end

Devuelve un iterador que señala a la ubicación después del último elemento de un multiset.

equal_range

Devuelve un par de iteradores.El iterador primero en los puntos de par para el primer elemento de un multiset con una clave que es mayor que una clave especificada.El iterador de segundo en los puntos de par para el primer elemento de la multiset con una clave que es igual o mayor que la clave.

Borrar

Quita un elemento o un intervalo de elementos de un multiset de posiciones especificadas o elimina los elementos que coinciden con una clave especificada.

find

Devuelve un iterador que señala a la primera posición de un elemento en un multiset que tiene una clave igual a una clave especificada.

get_allocator

Devuelve una copia de la allocator objeto que se utiliza para construir el multiset.

Insertar

Inserta un elemento o un intervalo de elementos en un multiset.

key_comp

Proporciona un objeto de función que puede comparar dos claves de ordenación para determinar el orden relativo de dos elementos de la multiset.

lower_bound

Devuelve un iterador para el primer elemento de un multiset con una clave que es igual o mayor que una clave especificada.

max_size

Devuelve la longitud máxima de la multiset.

rbegin

Devuelve un iterador que señala al primer elemento en una invertida multiset.

rend

Devuelve un iterador que señala a la ubicación del éxito del último elemento de una invertida multiset.

size

Devuelve el número de elementos en un multiset.

swap

Intercambia los elementos de dos multisets.

upper_bound

Devuelve un iterador para el primer elemento de un multiset con una clave que es mayor que una clave especificada.

value_comp

Recupera una copia del objeto de comparación que se utiliza para los valores de elemento de pedido en un multiset.

Requisitos

Encabezado: <set>

Espacio de nombres: std

Vea también

Referencia

Seguridad para subprocesos de la biblioteca estándar de C++

Biblioteca de plantillas estándar

Otros recursos

miembros de conjunto múltiple

miembros de <conjunto>