Matriz, lista e Classes de mapa
Para manipular agregações de dados, a biblioteca de classes fornece um grupo de classes de coleção – matrizes, listas e mapeia — que pode conter uma variedade de tipos predefinidos e objeto.As coleções são dimensionadas dinamicamente.Essas classes podem ser usadas em qualquer programa, se escritos para o Windows ou não.No entanto, eles são mais úteis para a implementação de estruturas de dados que definem as classes de documento na estrutura do aplicativo.Prontamente você pode derivar classes de coleção especializadas de esses ou você pode criá-los com base nas classes de modelo.Para obter mais informações sobre essas abordagens, consulte o artigo coleções.Para obter uma lista das classes de coleção de modelo, consulte o artigo Classes de modelo para matrizes, listas e mapas de.
As matrizes são estruturas de dados unidimensional que são armazenadas de forma contígua na memória.Eles suportam acesso aleatório muito rápido desde que o endereço de memória de qualquer elemento determinado pode ser calculado multiplicando o índice do elemento por tamanho de um elemento e adicionando o resultado para o endereço base da matriz.Mas as matrizes são muito caras se você tiver inserir elementos na matriz, desde que toda a matriz passada o elemento inserido tem ser movidos para o elemento a ser inserido.Arrays podem ser ampliadas e reduzidas conforme necessário.
Listas são semelhantes às matrizes, mas são armazenadas de maneira muito diferente.Cada elemento em uma lista também inclui um ponteiro para os elementos anteriores e posteriores, tornando-se uma lista duplamente vinculada.É muito rápida para adicionar ou excluir itens porque isso envolve apenas alterando alguns ponteiros.No entanto, procurar uma lista pode ser caro, pois todas as pesquisas precisam começar em uma das extremidades da lista.
Mapas de relacionam um valor de chave para um valor de dados.Por exemplo, a chave de um mapa pode ser uma seqüência de caracteres e dados de um ponteiro para uma lista.Seria pedir o mapa dar o ponteiro associado a uma determinada cadeia de caracteres.Pesquisas de mapa são rápidas porque mapas usam tabelas de hash para pesquisas de chave.Adicionando e excluindo itens também são rápida.Mapas são usados com outras estruturas de dados como índices auxiliares.MFC usa um tipo especial de mapa chamado um mapa da mensagem para mapear mensagens do Windows para um ponteiro para a função de manipulador de mensagem.