Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Ordenação de array com troca de posição

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!

1 resposta
solução!

Já consegui entender melhor a lógica! Não preciso mais de auxilio, Obrigada!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software