Bom dia! Quero entender melhor a lógica de trocar de posição atual pelo menor.
public class TestaOrdenacao {
public static void main(String[] args) {
Produtos produtos[] = {
new Produtos("Lamborghini", 1000000),
new Produtos("Jipe", 46000),
new Produtos("Brasília", 16000),
new Produtos("Smart", 46000),
new Produtos("Fusca", 17000)
};
for(int atual = 0; atual < produtos.length; atual++) {
int menor = buscaMenor(produtos, atual, produtos.length - 1);
Produtos produtoAtual = produtos[atual];
Produtos produtoMenor = produtos[menor];
produtos[atual] = produtoMenor;
produtos[menor] = produtoAtual;
}
for(Produtos produto : produtos) {
System.out.println(produto.getNome() + " Custa " + produto.getPreco());
}
}
private static int buscaMenor(Produtos[] produtos, int inicio, int termino) {
int maisBarato = inicio;
for(int atual = inicio; atual <= termino; atual++){
if(produtos[atual].getPreco() < produtos[maisBarato].getPreco()) {
maisBarato = atual;
}
}
return maisBarato;
}
}
Obrigada!