Hola como lo dice el titulo me gustaria saber que son plantillas multiset como trabajan y para que sirven talvez alquien me da una idea mas clara de la definicion.
muchas gracias.
PD: estaba leyendo un poco de biblioteca de plantillas estandar (SLT). y asi me llego la duda.
un multiset es una especie de set con la peculiaridad de que admite duplicados.
void main( )
{
std::set< int > setItem;
std::multiset< int > multisetItem;
setItem.insert( 10 );
setItem.insert( 20 );
setItem.insert( 10 );
multisetItem.insert( 10 );
multisetItem.insert( 20 );
multisetItem.insert( 10 );
for ( auto it = setItem.begin( ); it != setItem.end( ); ++it )
std::cout << *it << " ";
std::cout << std::endl;
for ( auto it = multisetItem.begin( ); it != multisetItem.end( ); ++it )
std::cout << *it << " ";
std::cout << std::endl;
Salida del programa:
10 20
10 10 20
Gracias.
Esto quiere decir, que si admite datos duplicados tambien puede admitir datos no duplicados como el login de una persona? o el nombre especifico de esa persona.?
Oh hay otro metodo que se usa para los no duplicados?
Gracias saludos.
No he entendido tu pregunta.
En general cada contenedor está preparado para un uso más o menos concreto:
* vector: uso general. Respeta el orden de inserción y permite el acceso aleatorio.
* set: cuando no se admiten duplicados, los resultados aparecen ordenados.
* multiset: resultados ordenados y con duplicados
* map: el índice es un tipo diferente de int o los índices no son consecutivos. No admite índices duplicados
* multimap: map con índices duplicados.
* stack y queue: pilas
* list: vector implementado a base de listas enlazadas. Los tiempos de inserción son constantes
* array: vector de tamaño fijo, no puede crecer.
Entiendo pense que podia utilizar multiset para datos no duplicados tambien.
Ya me quedo claro. Y me dejaste con algunas investigaciones tambien. Gracias saludos.