A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.

Apresentações semelhantes


Apresentação em tema: "Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em."— Transcrição da apresentação:

1 Arrays Outline Introdução Arrays Declarando e Criando Arrays Exemplos usando arrays Ordenando arrays Procurando em arrays: busca linear e busca binária arrays multidimensionais

2 7.1 Introdução Arrays estruturas de dados
dados relacionados de um mesmo tipo uma vez criados, mantém o mesmo tamanho

3 7.2 Arrays Arrays Grupo de variáveis Tendo o mesmo tipo
Tendo o mesmo nome

4 c[ 0 ] -45 6 72 1543 -89 62 -3 1 6453 78 Nome do array (observe que todos os elementos do array têm o mesmo nome, c) c[ 1 ] c[ 2 ] c[ 3 ] c[ 4 ] c[ 5 ] c[ 6 ] c[ 7 ] c[ 8 ] c[ 9 ] índice do elemento no array c c[ 10 ] c[ 11 ] Fig. 7.1 Um array de 12 elementos.

5 7.2 Arrays (cont.) Índice número da posição entre colchetes
Deve ser um número positivo ou uma expressão inteira a = 5; b = 6; c[ a + b ] += 2; Soma 2 a c[ 11 ]

6 7.2 Arrays (cont.) Examine o array c c é o nome do array
c.length devolve o tamanho do vetor c c tem 12 elementos ( c[0], c[1], … c[11] ) O valor de c[0] é –45

7 7.3 Declarando e Criando Arrays
Arrays são objetos que ocupam memória Criados dinamicamente com a palavra reservada new int c[] = new int[ 12 ]; Equivalente a: int c[]; // declara uma variável array c = new int[ 12 ]; // cria o array Podemos criar também arrays de objetos String b[] = new String[ 100 ];

8 7.4 Exemplos Usando Arrays
Declarando arrays Criando arrays Inicializando arrays Manipulando os elementos de um array

9 7.4 Exemplos Usando Arrays (Cont.)
Criando e inicializando um array Declare o array Crie o array Initialize os elementos do array

10

11 InitArray.java Linha 6 Declara array como um array de ints Linha 8 Instancia um array de 10 posições. Cada int é inicializado com 0 por default Linha 13 array.length retorna o tamanho do array Linha 14 array[conta] retorna o inteiro indexado por conta

12 InitArray.java Cada posição do array é inicializada com 0 por default

13 7.4 Exemplos Usando Arrays (Cont.)
Inicializando um array usando uma lista de inicializadores Items entre chaves ({}) Items em listas separadas por vírgulas int n[] = { 10, 20, 30, 40, 50 }; Cria um array de 5 elementos valor dos índices: 0, 1, 2, 3, 4 Não é necessário usar a palavra reservada new

14

15 InitArray.java Linha 5 Declara vetor como um array de ints Linha 5 O compilador usa a lista de inicialização para alocar o array

16 InitArray.java Cada elemento do vetor corresponde a um elemento na lista de inicializações

17 7.4 Exemplos Usando Arrays (Cont.)
Calculando o valor a ser armazenado em cada elemento do array Inicializa os elementos de um array de inteiros com 10 inteiros positivos e pares

18

19 InitArray.java Linha 7 Declare vetor como um array de ints Linha 7 Crie 10 ints para vetor Linha 10 Use o índice de vetor para atribuir valores aos elementos do array

20 InitArray.java

21 7.4 Exemplos Usando Arrays (Cont.)
Somando os elementos de um array Os elementos de um array podem representar uma série de valores Podemos somar estes valores

22

23 Linha 5 Declara array com uma lista de inicializadores Linhas 8-9 Soma todos os valores do array

24 7.4 Exemplos Usando Arrays (Cont.)
Usando histogramas para mostrar graficamente o conteúdo de um array Histograma Imprima cada valor numérico como uma barra de asteriscos (*)

25

26 Linha 5 Declara array com uma lista de inicialização Linhas 12 e 13 Para cada elemento de array imprime o número correspondente de asteriscos

27 Histograma.java

28 7.4 Exemplos Usando Arrays (Cont.)
Usando os elementos de um array como contadores Use os elementos do vetor como uma série de contadores para fazer alguma estatística dos dados

29

30 RollDie.java Linha 5 Declara frequencia como um array de 7 ints Linhas 7-8 Gera aleatoriamente 6000 inteiros no intervalo 1-6 Linha 8 Incrementa os elementos de frequencia nas posições associadas com o número aleatório gerado

31 7.4 Exemplos Usando Arrays (Cont.)
Usando arrays para analisar os resultados de pesquisas 40 estudantes dão notas para a qualidade de alimentos Escala de 1-10: 1 significa horrível, 10 significa excelente Coloque as 40 respostas em um array de inteiros Apresente os resultados consolidados

32

33 Linhas 5-13 Declare respostas como um array para armazenar 40 respostas Linha 15 Declare frequencia como um array de 10 inteiros Linhas Para cada resposta, incremente os valores do array frequencia na posição associada com a resposta

34

35 7.4 Exemplos Usando Arrays (Cont.)
Alguns pontos adicionais Ao percorrer um array em um laço O índice não deve nunca se tornar negativo O índice deve ser menor do que o número total de elementos Quando ocorre uma referência inválida a um elemento de um array: Java gera uma exceção: ArrayIndexOutOfBoundsException Veremos o tratamento de exceções mais tarde

36 7.5 Referências e Passagem de Parâmetros por Referência
Duas formas de passar argumentos para os métodos Passagem por valor Uma cópia do valor do argumento é passada para o método invocado em Java, todo tipo primitivo é passado por valor Passagem por referência O método que invoca, dá ao método invocado acesso direto ao seus dados O método invocado pode manipular esses dados Desempenho melhor do que a passagem por valor em Java, todo objeto é passado por referência em Java, arrays são objetos Portanto, arrays são passados para os métodos por referência

37 7.6 Passando Arrays para Métodos
Para passar um array como argumento para um método Escreva o nome do array sem os colchetes O Array temperaturas é declarado como int temperaturas = new int[ 24 ]; A chamada do método modificaArray(temperaturas ); Passa o array temperaturas para o método modificaArray

38

39 Declara um array de 5 inteiros com uma lista de inicialização
Passa o array por referência para o método modificaArray Passa array[3] por valor para o método modifyElement

40 O método modificaArray manipula diretamente o array
O método modificaElemento manipula uma cópia do tipo primitivo O tipo primitivo original não é modificado

41 O objeto, passado por referência, é modificado
O tipo primitivo, passado por valor, não é modificado

42 7.7 Ordenando Arrays Ordenando dados
Atraiu intensas pesquisas na área da ciência da computação método da Bolha Valores menores "borbulham" em direção ao início do array Valores maiores "afundam" em direção ao final do array Usa laços aninhados para efetuar múltiplas passagens pelo array Cada passo compara pares de elementos contíguos do array Os pares são mantidos inalterados se eles já estão em ordem crescente (ou se são iguais) Os elementos do par trocam de posição se eles estão em ordem decrescente

43 Linha 3 Declare um array de 10 posições com uma lista de inicializações Linhas 9-20 O método da bolha (bubbleSort) para ordenar o array

44

45 7.8 Busca em Arrays: Busca Linear e Busca Binária
Procurando elementos em arrays de grandes dimensões Determine se o array contém valores que casam com a chave de busca busca linear busca binária

46 7.8 Busca em Arrays: Busca Linear e Busca Binária (Cont.)
Compare cada elemento do array com a chave de busca Se a chave de busca for encontrada retorne o índice da posição onde ela foi encontrada Se a chave de busca não for encontrada, retorne -1 (índice inválido) Funciona melhor para arrays pequenos ou não ordenados Ineficiente para arrays com muitos elementos

47 Linha 3 Declara e instancia um array de 100 ints Linhas 5-6 preenche array com inteiros pares Linha 10 Percorre array usando um laço Lines Se o elemento na posição i é igual à chave de busca, interrompe a busca

48

49 7.8 Busca em Arrays: Busca Linear e Busca Binária (Cont.)
Eficiente para arrays grandes e ordenados Elimina metade dos elementos a cada comparação Compara o elemento do meio do array com a chave de busca Se o elemento é igual a chave de busca Retorna o índice da posição corrente Se o elemento é menor do que a chave Repete a busca na metade de cima do array Se o elemento é maior do que a chave Repete a busca metade de baixo do array Continue a busca até que: o elemento do meio é igual a chave de busca (sucesso) O conjunto de números não pesquisados contém apenas um elemento e este não é igual à chave (falha)

50 Declara e instancia um array de 15 posições
Preenche array com números pares

51 Se a chave de busca é igual ao elemento do meio do array, interrompe a busca
Se a chave de busca é menor do que o elemento do meio do array, repete a busca na metade de baixo do array Se a chave de busca é maior do que o elemento do meio do array, repete a busca na metade de cima do array Constrói a String de saída usada para imprimir o intervalo sendo pesquisado

52

53 7.9 Arrays Multidimensionais
Tabelas com linhas e colunas Arrays bidimensionais Declaração de um array bidimensional b[2][2] int b[][] = { { 1, 2 }, { 3, 4 } }; 1 e 2 inicializam b[0][0] e b[0][1] 3 e 4 inicializam b[1][0] e b[1][1] int b[][] = { { 1, 2 }, { 3, 4, 5 } }; linha 0 contém os elementos 1 e 2 linha 1 contém os elementos 3, 4 e 5

54 7.9 Arrays Multidimensionais (Cont.)
Criando arrays multidimensionais Podem ser alocados dinamicamente array 3-por-4 int b[][]; b = new int[ 3 ][ 4 ]; As linhas podem ter diferentes números de colunas int b[][]; b = new int[ 2 ][ ]; // aloca linhas b[ 0 ] = new int[ 5 ]; // aloca a linha 0 b[ 1 ] = new int[ 3 ]; // aloca a linha 1

55 Fig. 7.13 Array bidimensional com 3 linhas e 4 colunas.
índice da Coluna índice da Linha nome do array Fig Array bidimensional com 3 linhas e 4 colunas.

56

57 Declara array1 um array 2 x 3
Declara array2 um array de 3 linhas e número variável de colunas array[linha].length retorna o número de colunas associadas com o índice linha Use a notação de dois colchetes para acessar os valores no array bidimensional

58

59 Outro exemplo DoubleArray.java

60 Declara notascomo um array 3-por-4
Cada linha representa um estudante; cada coluna representa a nota de uma prova ArrayDoubles Determina o mínimo e o máximo para todos os estudantes Determina a média para cada estudante Usa laços aninhados para procurar a menor nota

61 Usa laços aninhados para procurar a maior nota
ArrayDoubles Usa laços aninhados para procurar a maior nota O método media recebe as notas de um aluno como parâmetro Calcula a soma dos elementos do array Divide pelo número de elementos para obter a média

62


Carregar ppt "Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em."

Apresentações semelhantes


Anúncios Google