Ordenação
Aplicação com vetor ordenado
Esta aplicação possibilita o armazenamento de dez aplicações de dez números quaisquer de forma ordenada. Método muito lento quando não encontramos o valor ou o valor procurado está na última posição.
Neste algoritmo de ordenação serão efetuadas comparações entre os dados armazenados no vetor. Quando a situação procurada (crescente ou decrescente) é encontrada, uma troca de posições é realizada. Assim, um laço com as comparações e as trocas será efetuado na quantidade de vezes igual ao número de dados do vetor menos 1, ou seja, na maior quantidade possível de trocas.
Primeiro laço: compara se o número da posição 1 (número 5) é maior que o da posição 2 (número 4). Se for, então ocorre a troca e o avanço; caso contrário, compara a posição 2 com a 3.
5 |4 |2 |1 |8 |2 |4 |5 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |5 |2 |1 |8 |2 |4 |5 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |2 |5 |1 |8 |2 |4 |5 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |2 |1 |5 |8 |2 |4 |5 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |2 |1 |5 |8 |2 |4 |5 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |2 |1 |5 |8 |2 |4 |5 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |2 |1 |5 |2 |8 |4 |5 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |2 |1 |5 |2 |8 |4 |5 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |2 |1 |5 |2 |4 |8 |5 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |2 |1 |5 |2 |4 |8 |5 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |2 |1 |5 |2 |4 |5 |8 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
4 |2 |1 |5 |2 |4 |5 |8 |9 |7 | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |
Laço 2 em diante: repete o ciclo até ordenar todo o vetor, sempre comparando com a 1ª posição.
package aaed_ordena;
public class ordena_troca {
public static void main(String[] args) {
int num [] = new int [7]; num [0] = 9; num [1] = 1; num [2] = 3; num [3] = 2; num [4] =