Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: nolasco281 en 24 Febrero 2014, 20:23 PM

Título: Que son plantillas multiset?
Publicado por: nolasco281 en 24 Febrero 2014, 20:23 PM
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.
Título: Re: Que son plantillas multiset?
Publicado por: eferion en 25 Febrero 2014, 09:12 AM
un multiset es una especie de set con la peculiaridad de que admite duplicados.

Código (cpp) [Seleccionar]

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
Título: Re: Que son plantillas multiset?
Publicado por: nolasco281 en 25 Febrero 2014, 15:49 PM
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.

Título: Re: Que son plantillas multiset?
Publicado por: eferion en 25 Febrero 2014, 16:58 PM
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.
Título: Re: Que son plantillas multiset?
Publicado por: nolasco281 en 25 Febrero 2014, 17:03 PM
Entiendo pense que podia utilizar multiset para datos no duplicados tambien.

Ya me quedo claro. Y me dejaste con algunas investigaciones tambien. Gracias saludos.