Você está na página 1de 3

Estas caractersticas de los diferentes contenedores, nos permitir discernir cul es el contenedor ms adecuado para una situacin problemtica.

Contenedor Secuencias vector

Caractersticas

Este contenedor es una estructura de datos de tamao fijo preferentemente. Aunque la STL proporciona herramientas para cambiar el tamao de un vector de forma dinmica, esta operacin es costosa y debe ser evitada dentro de lo posible (en este sentido el vector se comporta como una matriz ordinaria). Disponen de un buen mecanismo de acceso aleatorio a elementos y de un mecanismo de insercin al final muy eficiente. Generalmente es preferible utilizar un vector que un deque o un list, a menos que sea frecuentemente necesario insertar datos al comienzo o al final, en cuyo caso es mejor utilizar un deque. Si por el contrario es frecuente la insercin de elementos en el centro, entonces es preferible un list.

vector<bool> list

Es una versin de la anterior especial para valores binarios (bits). Este contenedor responde a la idea intuitiva de "lista", el almacenamiento de objetos en una secuencia lineal que no est necesariamente ordenada (aunque sus miembros pueden ser ordenados fcilmente mediante la funcin-miembro sort() ). Estos contenedores suelen ser implementados como listas doblemente enlazadas. Dispone de mecanismos eficientes para insertar elementos al principio, al final o en cualquier posicin (utilizando iteradores que denoten posicin). Estas operaciones consumen un tiempo constante con independencia del nmero de elementos albergados en el contenedor.

Dado que son estructuras lineales, en general los elementos no pueden ser accedidos por subndices como en un vector. Es necesario realizar un recorrido lineal por todos los valores, por lo que en las operaciones de acceso se utilizan tiempos proporcionales al nmero de elementos. stack deque Contenedor de elementos tipo pila LIFO que permite inserciones y eliminaciones solo en la parte superior. Los deques o colas de doble terminacin ("Double-ended queue") son un tipo de estructura de datos que comparte las caractersticas de las colas ("Queues") y las pilas ("Stacks"). Como en las colas, los elementos pueden ser empujados por un extremo al interior del contenedor, y el primer elemento introducido puede ser extrado por el extremo opuesto. Al mismo tiempo, el ltimo elemento introducido por el principio puede ser extrado en ese mismo extremo como si fuese una pila. Estos contenedores suelen ser implementados bajo la forma de matrices bidimensionales. Las caractersticas de los deques implementados en la STL pueden resumirse en: Acceso aleatorio; mecanismo eficiente de insercin al principio o al final. string Asociaciones set Como el resto de contenedores asociativos, esta forma de contenedor mantiene los elementos en orden. Dispone de mecanismos eficientes para inclusin, insercin y eliminacin de elementos, y soporta claves nicas (solo puede existir un miembro con una clave determinada). Versin del anterior que permite la existencia de claves duplicadas. Es decir, distintos elementos dentro del conjunto pueden responder a la misma clave. Contenedor de bit ms orientado al tamao que hacia el tipo de contenido. Permite almacenar secuencias de bits de tamao fijo. No existen iteradores para recorrerlas, y sus elementos se acceden utilizando el operador subndice [ ]. Como el resto de estructuras asociativas, el map mantiene sus elementos ordenados. Se caracteriza porque sus miembros son pares de valores que pueden ser de tipos distintos. Uno de ellos, el que acta como clave para el ndice ("Key-value"), puede ser de cualquier tipo, a condicin de que sus elementos puedan ser ordenados segn Contenedor de caracteres adaptado a operaciones con cadenas de caracteres.

multiset

bitset

map

un criterio (por defecto se utiliza el operador <). Permite claves nicas. Es decir, que solo puede existir un miembro para cada clave. Dispone de mecanismos de insercin y borrado muy eficientes y no existe lmite de tamao. La estructura se encarga de crecer y disminuir en concordancia con las necesidades de sus miembros. Permite el operador [ ] subndice para los elementos de la clave as como otras tcnicas de acceso. Estas estructuras de datos recibe tambin los nombres de diccionarios, tablas y matrices asociativas, en referencia a que pueden considerarse como dos matrices del mismo nmero de elementos, en las que existe una relacin entre cada miembro de una con otro miembro de la otra. Una de las matrices (que acta de ndice) estara ordenada segn su contenido. multimap En todo igual que el anterior pero permitiendo adems claves duplicadas. Es decir, que una misma clave pueda estar asociada a dos "valores" distintos.

Adaptador queue priority queue

Caractersticas Contenedor tipo cola FIFO que permite inserciones al final y eliminaciones al principio. Este contenedor dispone de mecanismos eficientes para acceso y eliminacin de grandes valores.

FUENTE: http://www.zator.com/Cpp/E5.htm

Você também pode gostar