Arranjo (computação)
Este artigo carece de reciclagem de acordo com o livro de estilo. |
Em programação de computadores, um arranjo (em inglês array) é uma estrutura de dados que armazena uma coleção de elementos de tal forma que cada um dos elementos possa ser identificado por, pelo menos, um índice ou uma chave. Essa estrutura de dados também é conhecida como variável indexada, vetor (para arranjos unidimensionais) e matriz (para arranjos bidimensionais). Os arranjos mantêm uma série de elementos de dados, geralmente do mesmo tamanho e tipo de dados. Elementos individuais são acessados por sua posição no arranjo. A posição é dada por um índice, também chamado de subscrição. O índice geralmente utiliza uma sequência de números inteiros, mas o índice pode ter qualquer valor ordinal. Os arranjos podem ser multidimensionais, significando que eles são indexados por um número fixo de números inteiros, por exemplo, por uma sequência (ou sucessão) finita de quatro números inteiros. Geralmente, arranjos unidimensionais e bidimensionais são os mais comuns.
Os arranjos podem ser considerados como as estruturas de dados mais simples. Têm a vantagem de que os seus elementos são acessíveis de forma rápida mas têm uma notável limitação: são de tamanho fixo, mas podem ser incrementados ou diminuídos com determinados algoritmos, geralmente envolvendo a cópia de elementos de um arranjo para outro e reiniciar o original com a nova dimensão. Os vetores podem ser implementados desta forma.
Estas estruturas de dados são ajeitadas nas situações em que o acesso aos dados seja realizado de forma aleatória e imprevisível. Porém, se os elementos podem estar ordenados e vai-se empregar um acesso sequencial, seria mais recomendada uma lista.
Forma de acesso
[editar | editar código-fonte]A forma de acessar os elementos de um arranjo é direta, ao contrário das listas. Isto quer dizer que o elemento desejado obtêm-se a partir do seu índice e não é preciso procurá-lo elemento por elemento. No caso das listas, por exemplo, para alcançar o terceiro elemento ter-se-á de aceder primeiro aos dois anteriores (ou bem de guardar um ponteiro que permita aceder de maneira rápida a esse elemento em particular).
Exemplos
[editar | editar código-fonte]Declarações
[editar | editar código-fonte]Em Java, os arranjos são objetos que necessitam de iniciação. Isto geralmente é feito usando o operador new
. Para um arranjo, o programador especifica o tipo dos elementos do arranjo e o número de elementos como parte da operação new (instanciação do objeto)
. Ex.: int[] A = new int[5], onde teremos a
instanciação do objeto int[].
String[] S = new String[5];
double[] d = new double[10];
int[][] d2 = new int[10][10]; // matriz 10x10 , array de arrays
double[] a;
a = new double[100];
Em C, os arranjos são declarados, definindo primeiro o seu tipo, em seguida do seu nome e por fim a sua dimensão. Ex.: int array[10];
.
int quadro[10];
double array[100];
int matriz[20][10]; /* matriz 20x10 */
Inicialização
[editar | editar código-fonte] int[] A = {5, 7, 9, 2, 0};
int[][] d2 = { {1,2,3} , {4,5,6} };
long[] a = new long[] {10,20,30,40};
Automaticamente o Java inicializa com um valor default cada elemento do arranjo:
- Null para tipo Objetos;
- 0 (zero) para short, byte, int, long, float e double;
- Unicode 0 para char;
- False para boolean;
Em C, os arranjos quando iniciados no momento da declaração são definidos do seguinte modo:
int array[5] = {3,4,5,6,3};
double quadro[5] = {3.0,4.0,5.0,6.03,3.0};
int matrix[4][4] = {{3,4,3,4},{5,6,2,3},{9,2,7,4},{1,7,0,3}};
Obs:. Em C# a criação de um arranjo é igual a em Java.
Criando, inicializando, e acessando um Arranjo
[editar | editar código-fonte]Uma das formas de se criar um arranjo é utilizando o operador new. A declaração seguinte no programa ArrayDemo, aloca um arranjo com memória para dez elementos do tipo inteiro e atribui o arranjo à variável meuArray.
meuArray = new int[10]; // cria um arranjo de inteiros
Alternativamente, você pode usar atalhos de sintaxe para criar e inicializar um arranjo:
int[] meuArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
Na linguagem de programação Java, um arranjo multidimensional é simplesmente um arranjo cujos elementos são outros arranjos. Um exemplo de arranjo multidimensional seria:
class ArrayMultiDemo {
public static void main(String[] args) {
String[][] nomes = {{"Mr. ", "Mrs. ", "Ms. "},{"Smith", "Jones"}};
System.out.println(nomes[0][0] + nomes[1][0]); //Mr. Smith
System.out.println(nomes[0][2] + nomes[1][1]); //Ms. Jones
}
}
A saída desse programa é:
Mr. Smith Ms. Jones
Arranjo de 10 elementos
|0|1|2|3|4|5|6|7|8|9|
Cada item em um arranjo é chamado de elemento, e cada elemento é acessado pela posição numérica. Como na ilustração acima as posições são numeradas a partir do 0 (zero). O 9º elemento, por exemplo, é acessado na posição 8.[1]
- ↑ «Arrays em Java, por Dayvid Lima». www.plugmasters.com.br. Consultado em 21 de junho de 2012. Arquivado do original em 31 de maio de 2012