Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Curso C++

[Home]  [Inicio]  [Índice]


5.1.1e Contenedores asociativos

§1 Sinopsis

Los contenedores asociativos son una extensión de las secuencias ( 5.1.1c). Mientras que en estas para acceder a los elementos solo pueden utilizarse claves numéricas, que señalan el número de orden del elemento dentro de la secuencia (al estilo de los índices en las matrices). Los contenedores asociativos admiten cualquier tipo de clave de acceso. Las más frecuentes son las cadenas alfanuméricas (stings).

Las asociaciones almacenan sus miembros en forma de árbol indexado, razón por la que son denominados también contenedores asociativos ordenados, y resultan adecuados para accesos aleatorios mediante claves.

La ordenación se realiza según los valores de ciertos miembros del contenedor. Estos elementos son denominados "de claves" ("Key values"). Lo que exige que los objetos "de clave" sean de un tipo para el que estén definidos los operadores relacionales. El contenedor es mantenido ordenado de forma automática por los algoritmos de inserción y borrado.

La STL proporciona cinco tipo distintos, aunque en realidad son tres clases; dos de ellas en dos variedades (permitiendo o no claves duplicadas). Uno de los tipos (bitset) sirve para almacenar campos de bits de longitud constante. Los otros dos permiten elementos ordenados de cualquier tipo (set y multiset), mientras que map y multimap permiten alojar pares de elementos. Uno que actúa como "Key value" y otro que puede ser un tipo cualquiera al que llamaremos valor-dato.

  • bitset

  • set

  • multiset

  • map

  • multimap

Existen mecanismos para asociar un valor o dato de cualquier tipo con una clave; para encontrar el valor asociado a una clave, y para recorrer el conjunto (ordenado) de las claves.