Multiconjuntos C++

De cppreference.com
Saltar a: navegación, buscar


#include <set>
using std::multiset;
 
multiset<Key, Compare, Alloc>

En C++ un Multiset o Multiconjunto es un contenedor que representa un conjunto ordenado de elementos que pueden estar repetidos, de tipo Key. La ordenación de los elementos es hecha a base del criterio de comparación Compare, que es por defecto std::less<Key>. El almacenamiento de los elementos es gestionado por el criterio de gestión de memoria Alloc, que es por defecto std::allocator<Key>.


Constructores constructores por defecto para gestionar, reservar y copiar conjuntos
Operators asigna y compara conjuntos
begin iterador que apunta al principio del conjunto
clear elimina todos los elementos del conjunto
count cuenta cuántas veces existe un elemento el conjunto
empty determina si el conjunto está vacío
end iterador que apunta al final de un conjunto
equal_range devuelve iteradores que apuntan al inicio y final de un rango dentro del conjunto que corresponde a un valor en específico
erase elimina elementos de un conjunto
find busca un elemento y devuelve un iterador apuntando a éste
insert inserta (agrega) elementos a un conjunto
key_comp devuelve el criterio usado para comparar Keys
lower_bound devuelve iterador apuntando al punto más bajo donde se puede insertar el elemento
max_size máximo número de elementos que el conjunto puede almacenar
rbegin iterador reverso que apunta al final (inicio inverso) del conjunto
rend iterador reverso que apunta al inicio (final inverso) del conjunto
size cantidad de elementos en el conjunto
swap intercambia los valores de este conjunto con los de otro
upper_bound devuelve iterador apuntando al punto más alto donde se puede insertar el elemento
value_comp devuelve el criterio usado para comparar los valores

[editar] Contenedores Relacionados

En C++ **set** es el contenedor por asociativo para almacenar elementos sencillos. El contenedor relacionado map (diccionarios) almacena pares "clave=valor" relacionados. Las variantes multiset y multimap permiten almacenar valores repetidos.


Un multiset puede almacenar varias copias de un mismo valor. Para almacenar valores únicos se utiliza un set.

Un multiset almacena y ordena sus elementos basándose en el criterio de comparación Compare que debe modelar un orden parcial (por ejemplo, "menor-que"). En el próximo estándar, C++11, se puede almacenar elementos basándose solamente en un criterio de igualdad usando un unordered_set que ya está presente en algunos compiladores de C++ con soporte para las herramientas "tr1".

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas
Otros idiomas