873 Shares 8817 views

Uma matriz dinâmica e as suas características

Matriz é geralmente referido como um conjunto ordenado de elementos tendo cada um certo (o mesmo) tipo. Matrizes são estáticos e dinâmicos. o primeiro comprimento é especificado no passo, isto é, a programação antes de um início do programa para execução, o segundo – no curso de execução.
Para uma matriz estática na descrição deve ser determinado número de elementos, que não pode ser alterada (aumento ou diminuição) durante o programa. Quando o programa começa, usando uma matriz estática para execução na memória de um número de bytes alocados para armazenar seus elementos. Esta quantidade de memória será atribuído ao programa, desde que terminou o seu trabalho. Mesmo que essa memória não é usado, nenhum outro código não será capaz de acessá-lo.
linguagem de programação Pascal só pode trabalhar com matrizes estáticas. Portanto, se você quer trabalhar com uma sequência de comprimento variável, é possível descrever a estrutura, por exemplo, fora de uma centena de elementos, e usado em diferentes estágios de um número diferente de elementos, que não excedam o número 100. E é certamente imprudente.
Este problema não existe no integrado ambiente de desenvolvimento do Delphi. Uma matriz dinâmica permite a descrição não se especifique o número de elementos, e determinar o seu tempo de execução. Uma matriz dinâmica podem ser descritos na secção Var como se segue:
Var maciça: matriz de número inteiro

Assim, a estrutura, designada identificador maciça, é uma sequência linear de número inteiro desconhecido (medida) de comprimento. Para definir o tamanho, o programa deve aplicar procedimento SetLength, por exemplo, SetLength (maciço, 9). adquirem maciça dimensão matriz dinâmica igual ao número 9. Agora, determina-se que na sequência existem nove elementos de tipo inteiro, numerados de zero. Estas características têm uma matriz dinâmica. Delphi é um procedimento libera a memória de um conjunto de números, onde a necessidade de armazenar desapareceu. Este procedimento Finalize, no nosso caso, será aplicado da seguinte forma: Finalize (maciço).

Da mesma forma, pode-se descrever e aplicar matrizes dinâmicas multidimensionais em Delphi. Por exemplo, bidimensional estrutura dinâmica vai ser descrito como se segue:
Var maciça: matriz de matriz de número inteiro
Se necessário, as colunas podem ser de diferentes comprimentos. Ele também é especificado procedimento SetLength.

Muitas vezes, especialmente em programas grandes e complexos, algumas estruturas de dados são usados ao longo do tempo, ou apenas no início / fim do programa. Foi "na reserva" seria muito desperdício para manter na memória. A matriz dinâmica – uma forma de alocação racional dos recursos de sistema do computador. Embora tenha algumas desvantagens. Em primeiro lugar, não é sempre elementos de numeração convenientes a partir do zero. Segundo, o programador deve sempre ser entendida, em cada ponto do código, a condição da matriz dinâmica. Mas suas vantagens tornam ridículas todas essas dificuldades. Em particular, se você quiser enviar um grande volume de sub-rotina de dados, ele não pode fazer sem o modo dinâmico de representação.