Professional Documents
Culture Documents
1
Algoritmo de procura de valor maior / menor num array
Para encontrar a posição do elemento cujo valor é o maior num array de
inteiros poderia usar o método seguinte:
. . .
float[] y = new float[100];
float maiorNum = y[0]; byte indice_do_maior = -1;
. . .
for (byte i=0; i < y.length; i++)
{ if (y[i] > maiorNum)
{ maiorNum = y[i];
indice_do_maior = i; //posição do elemento
}
} . . .
Obs. Para procura do valor menor usa-se a condição (<)
Ordenação por borbulhamento (Bubble sort)
Um problema fundamental em computação é a ordenação de dados. Existem
vários métodos de ordenação: por borbulhamento (bubble sort), por selecção
(selection sort), tipo Shell (shell sort), shaker sort, quick sort, etc.
A técnica usa dois ciclos for encadeados para fazer várias passagens pelo
array. O ciclo externo controla o número de passagens pelo array. 2
O ciclo interno controla as comparações e trocas (se são necessárias) dos
elementos durante cada passagem. Em cada passagem, pares de elementos
sucessivos são comparados: se um par estiver na ordem crescente (ou os
valores forem iguais), a bubble sort deixa os valores como estão, se um par
estiver na ordem decrescente, a bubble sort troca seus valores no array. O
algoritmo é muito simples, mas lento.
import java.util.Random; import javax.swing.JOptionPane;
public class ArrayOrdenacaoBubbleSort
{ public static void main (String args[])
{ //criação do array
int q = 200;
int v[] = new int [q];
Random r = new Random();
for (int i = 0; i < q; i++)
{ v[i] = r.nextInt(55); } //gere números aleatorios
// inteiros na faixa de zero a 55
JOptionPane.showMessageDialog(null,str);
3
//ordenação
int aux;
for (int i = 1; i < v.length; i++ )
for (int j = 0; j < v.length-1; j++ )
{ if (v[j] > v[j+1])
{ aux = v[j];
v[j] = v[j+1];
v[j+1] = aux;
}
}
str = ”\nConteudo do array ordenado:\n”;
for (int k=0; k < v.length; k++)
{ str += v[k] + ", "; }
JOptionPane.showMessageDialog(null,str);
}
}
4
Array bidimensional
Um array unidimensional pode armazenar elementos de tipos simples e
também elementos que são objectos. Um caso particular quando cada
elemento de array é um array, criando-se assim um array bidimensional, ou
matriz, com linhas e colunas.
precos
[0] [1]
5
Cada elemento do array bidimensional pode ser acedido através de dois
índices, um que indica a linha e outro a coluna.
É possível obter:
Para aceder aos elementos do array deve se utilizar dois ciclos for, um
dentro do outro. O primeiro serve para fazer variar linhas e o segundo para
fazer variar colunas.
9
TPC
10