Array, lista y clases de mapa

Para el manejo de agregados de datos, la biblioteca de clases proporciona un grupo de clases de colección: matrices, listas y "mapas", que puede contener una variedad de objetos y tipos predefinidos. Las colecciones son de tamaño dinámicamente. Estas clases pueden utilizarse en cualquier programa, ya sea escrito para Windows o no. Sin embargo, son más útiles para implementar las estructuras de datos que definen las clases de documento en el marco de la aplicación. Fácilmente puede derivar clases de colección especializada de estos o crearlos basados en las clases de plantilla. Para obtener más información acerca de estos métodos, consulte el artículo colecciones en Las clases de plantilla para matrices, listas y mapas en esta descripción de una lista de las clases de colección de plantilla y Guía del programador de Visual C++.

Los arreglos son estructuras de datos unidimensional que se almacenan de forma contigua en memoria. Ellos admiten el acceso aleatorio muy rápido desde la dirección de memoria de cualquier elemento puede calcularse multiplicando el índice del elemento por el tamaño de un elemento y agregar el resultado a la dirección base del arreglo de discos. Pero las matrices son muy caras si tienes que insertar elementos en la matriz, desde toda la matriz pasada el elemento insertado tiene que ser movido para hacer espacio para el elemento que se insertará. Arreglos de discos pueden crecer y reducir según sea necesario.

Las listas son similares a las matrices pero se almacenan de forma muy diferente. Cada elemento de una lista también incluye un puntero a los elementos anteriores y posteriores, convirtiéndolo en una lista doblemente ligada. Es muy rápido para agregar o eliminar elementos porque hacerlo sólo implica cambiar unos pocos punteros. Sin embargo, buscando una lista puede ser caro ya que todas las búsquedas que deba empezar en uno de los extremos de la lista.

Mapas refieren a un valor de clave con un valor de datos. Por ejemplo, podría ser la clave de un mapa de una cadena y los datos de un puntero a una lista. Pido el mapa para darle el puntero asociado a una cadena determinada. Mapa de búsquedas son rápidas porque mapas utilizan tablas hash para búsquedas claves. Añadir y eliminar elementos también son rápido. Mapas se utilizan a menudo con otras estructuras de datos como índices auxiliares. MFC utiliza un tipo especial de mapa llamado un " Mapa de mensajes" para asignar mensajes de Windows a un puntero a la función de controlador para el mensaje.

Index