GeeksforGeeks
um array é uma coleção de itens armazenados em locais de memória contíguos. A idéia é armazenar vários itens do mesmo tipo juntos. Isto torna mais fácil calcular a posição de cada elemento simplesmente adicionando um deslocamento a um valor base, isto é, a localização da memória do primeiro elemento da matriz (geralmente denotado pelo nome da matriz). O valor de base é o índice 0 e a diferença entre os dois índices é o deslocamento.
Por simplicidade, podemos pensar em um array como uma frota de escadas onde em cada passo é colocado um valor (digamos um de seus amigos). Aqui, você pode identificar a localização de qualquer um de seus amigos simplesmente sabendo a contagem do passo em que eles estão.
lembre – se:”a localização do próximo índice depende do tipo de dados que usamos”.
A imagem acima pode ser vista como uma vista de Nível Superior de uma escada onde você está na base da escada. Cada elemento pode ser identificado unicamente pelo seu índice na matriz (de uma forma semelhante à que você poderia identificar seus amigos pelo passo em que eles estavam no exemplo acima).
Array size
In C language array has a fixed size meaning once the size is given to it, it cannot be changed i.e. you can’t shrink it nor can you expand it. A razão era que para expandir se nós mudarmos o tamanho nós não podemos ter certeza (não é possível toda vez) que nós obtemos o próximo local da memória para nós como livres. O encolhimento não funcionará porque o array, quando declarado, fica com a memória estaticamente, e assim compilador é o único a destruí-lo.
Tipos de indexação em uma matriz:
- 0 (zero como base de indexação): O primeiro elemento da matriz é indexado por um índice de 0
- 1 (uma base de indexação): O primeiro elemento da matriz é indexado por índice de 1
- n (n-base de indexação): A base do índice de um array pode ser escolhido livremente. Normalmente, linguagens de programação que permitem indexação baseadas em n também permitem valores de índice negativos, e outros tipos de dados escalares como enumerações, ou caracteres podem ser usados como um índice de array.
vantagens de usar arrays:
- Arrays permitem o acesso aleatório aos elementos. Isso torna o acesso aos elementos por posição mais rápido.
- Arrays têm melhor localidade de cache que pode fazer uma grande diferença no desempenho.
- As matrizes representam vários itens de dados do mesmo tipo usando um único nome.
desvantagens de usar arrays:
Você não pode mudar o tamanho, ou seja, uma vez que você declarou o array você não pode mudar o seu tamanho por causa da memória estática alocada a ele. Aqui a inserção e exclusão são difíceis como os elementos são armazenados em locais de memória consecutivos e a operação de mudança também é caro.
agora se tomar um exemplo de implementação da pilha de estrutura de dados usando array, existem algumas falhas óbvias.
vamos fazer a operação POP da pilha. O algoritmo faria algo assim.
- Verifique a pilha insuficiência
- Diminuir o topo por 1
Então, não há o que estamos fazendo é que o ponteiro para o elemento superior é diminuir, o que significa que são apenas delimitadora, a nosso ver, na verdade, qual é o elemento que fica lá falando do espaço de memória se você tiver qualquer tipo de dados primitivo, então ele pode ser ok, mas o objeto de uma matriz iria ter um monte de memória.exemplos –
exemplos –
// A character array in C/C++/Javachar arr1 = {'g', 'e', 'e', 'k', 's'};// An Integer array in C/C++/Javaint arr2 = {10, 20, 30, 40, 50};// Item at i'th index in array is typically accessed// as "arr". For example arr1 gives us 'g'// and arr2 gives us 40.
geralmente, um conjunto de caracteres é chamado de ‘string’, enquanto um conjunto de ints ou flutuadores é chamado simplesmente de um array.
aplicações em Array
- Array armazena elementos de dados do mesmo tipo de dados.
- matrizes podem ser usadas para agendamento de CPU.
- usado para implementar outras estruturas de dados como pilhas, filas, Montes, tabelas de Hash, etc.
Se você gosta de GeeksforGeeks e gostaria de contribuir, você também pode escrever um artigo usando contribute.geeksforgeeks.org ou e-mail o seu artigo para [email protected]. Ver seu artigo publicado no GeeksforGeeks página principal e ajudar outros Geeks.
Leave a Reply