matrizes dinamicamente alocados são um meio eficiente de espaço de armazenamento de quantidades variáveis de dados em C + +. Eles são eficientemente organizada e oferecer benefícios em termos de velocidade e consumo de memória total consumida pela estrutura de dados. O processo de exclusão de um índice a partir de uma matriz dinâmica é bastante simples, mas uma das quedas de matrizes dinâmicas é que a velocidade dos algoritmos usados para adicionar ou remover elementos da matriz é lento em comparação com outros métodos de armazenamento de dados (tais como listas ligadas , em que adicionar e excluir da matriz pode ser feito em tempo constante ) . O algoritmo mais básico para a remoção de um índice a partir de uma matriz dinâmica é executado em tempo linear e é bastante fácil de entender. Coisas que você precisa 
 editor de texto 
 Compiler 
 Show Mais instruções 
 1 
 Determine o tamanho final da sua matriz modificada. A remoção de um único índice irá reduzir o tamanho da matriz resultante por 1: 
 
 int newSize = currentArraySize - 1; 
 2 
 Crie uma nova matriz dinâmica que pode conter todos os inteiros restantes em matriz antiga . Use o novo tamanho para fazer isso: 
 
 int * newArray = new int [ newSize ]; 
 3 
 Criar contadores para os índices em ambos os conjuntos novos e antigos . Estes serão incrementados separadamente, como você copiar o conteúdo do array antigo para o novo : 
 
 int oldArrayIndex = 0; 
 
 int newArrayIndex = 0; 
 4 
 Traverse as duas matrizes : 
 
 para ( oldArrayIndex = 0; oldArrayIndex < currentArraySize ; + + oldArrayIndex ) 
 
 { 
 
 //código para copiar vai aqui 
 
} 
 5 
 copiar dados do array antigo para o novo , incrementando contador do novo array com balcão da velha matriz até chegar ao índice a ser excluído. Quando você alcança o índice de apagar , não copie os dados e não incrementar o novo contador matriz. Usando o laço for de cima: 
 
 para ( oldArrayIndex = 0; oldArrayIndex < currentArraySize ; + + oldArrayIndex ) 
 
 { 
 
 if (! OldArrayIndex = indexToDelete ) < br > 
 { 
 
 newArray [ newArrayIndex ] = oldArray [ oldArrayIndex ]; 
 
 + + newArrayIndex ; 
 
 } 
 
 } 
 < br >