Fórum Array ordenção BoobleSort #531243

10/09/2015

0

Bom dia, estou tentando implementar o BoobleSort em um Interator mas está ocorrendo um erro que não consigo identificar qual é, alguém poderia me ajudar, é um trabalho de faculdade, o erro ocorre no if:

for (int i = array.size() - 1; i > 0; i--) {
                for (int j = 0; j < i; j++) {
                    if (array.get(j) > array.get(j + 1)) {
                        Aluno aux = array.get(j);
                        array.set(j, array.get(j + 1));
                        array.set((j + 1), aux);
                    }
                }
            }
Roberval

Roberval

Responder

Posts

10/09/2015

Jothaz

Qual erro retorna?
Responder

Gostei + 0

10/09/2015

Roberval

"bad operand types for binary operator".
Responder

Gostei + 0

10/09/2015

Jothaz

Posta o conteúdo do array.
Responder

Gostei + 0

10/09/2015

Roberval

ArrayList<Professor> array = new ArrayList<Professor>();
            FileReader fr = new FileReader(nomeDoArquivo);
            BufferedReader br = new BufferedReader(fr);
            String linha = "";
            int pos = 0;
            while ((linha = br.readLine()) != null) {
                Professor aux = new Professor(linha);
                array.add(aux);
                pos++;
            }
            br.close();

for (int i = array.size() - 1; i > 0; i--) {
                for (int j = 0; j < i; j++) {
                    if (array.get(j) > array.get(j + 1)) {
                        Aluno aux = array.get(j);
                        array.set(j, array.get(j + 1));
                        array.set((j + 1), aux);
                    }
                }
            }

return array.iterator();
Responder

Gostei + 0

10/09/2015

Jothaz

Qual o conteúdo do array: numérico,alfa, alfanumérico?
Responder

Gostei + 0

10/09/2015

Roberval

Alfanumérico.
Responder

Gostei + 0

10/09/2015

Jothaz

Olha acho bem mais simples usar:

Arrays.sort(strArr);



Troque isto:
 if (array.get(j) > array.get(j + 1)) {


`Por isto:
 if(array[j].compareTo(array[j+1])>0) {
Responder

Gostei + 0

11/09/2015

Roberval

Deu certo aqui, obrigado.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar