O código abaixo não está classificando os dois últimos valores da matriz. Alguma luz
Muito obrigado
Abs
package aulas;
import javax.swing.JOptionPane;
class vertor_crescente5
{
public static void main (String args[])
{
int A[] = {5,3,9,6,4};
int aux;
String mensagem = " ";
mensagem = mensagem+ "O valor de A[0] = "+A[0];
mensagem = mensagem+ "\nO valor de A[1] = "+A[1];
mensagem = mensagem+ "\nO valor de A[2] = "+A[2];
mensagem = mensagem+ "\nO valor de A[3] = "+A[3];
mensagem = mensagem+ "\nO valor de A[4] = "+A[4];
for (int i=0; i <= 3;i++)
{
if (A[i] > A[i+1])
{
aux = A[i];
A[i] = A[i+1];
A[i+1] = aux;
};
}
mensagem= mensagem+ "\n\nO valor ordenado de A[0] ="+A[0];
mensagem= mensagem+ "\nO valor ordenado de A[1] ="+A[1];
mensagem= mensagem+ "\nO valor ordenado de A[2] ="+A[2];
mensagem= mensagem+ "\nO valor ordenado de A[3] ="+A[3];
mensagem= mensagem+ "\nO valor ordenado de A[4] ="+A[4];
JOptionPane.showMessageDialog(null, mensagem);
}
public class Inicio{
public static void main (String args[]) {
List c = new ArrayList();
c.add(5);
c.add(3);
c.add(9);
c.add(6);
c.add(4);
String mensagem = " ";
mensagem = mensagem+ "O valor de A[0] = "+c.get(0);
mensagem = mensagem+ "\nO valor de A[1] = "+c.get(1);
mensagem = mensagem+ "\nO valor de A[2] = "+c.get(2);
mensagem = mensagem+ "\nO valor de A[3] = "+c.get(3);
mensagem = mensagem+ "\nO valor de A[4] = "+c.get(4);
Collections.sort(c); // Aqui ordenamos do menor para o maior, em uma só linha :D
mensagem= mensagem+ "\n\nO valor ordenado de A[0] ="+c.get(0);
mensagem= mensagem+ "\nO valor ordenado de A[1] ="+c.get(1);
mensagem= mensagem+ "\nO valor ordenado de A[2] ="+c.get(2);
mensagem= mensagem+ "\nO valor ordenado de A[3] ="+c.get(3);
mensagem= mensagem+ "\nO valor ordenado de A[4] ="+c.get(4);
JOptionPane.showMessageDialog(null, mensagem);
}
Infelizmente listas e métodos prontos não vão ajudar ninguém a exercitar o cérebro
É interessante querer desenvolver um algoritmo de ordenação.
Obviamente ninguém vai usar isso em uma situação de trabalho, a não ser que você seja realmente muito bom e implemente uma ordenação melhor do que as já prontas, e ainda assim, se for cabível.
Agora pra motivos de estudo, usar estruturas primitivas e forçar o cérebro a pensar em como implementar uma ordenação, é um ótimo exercício.
Seu algoritmo de ordenação me parece metade de um Bubble Sort. Acontece que você só percorre a lista uma vez. No Bubble Sort a lista é percorrida até que não haja mais nada a ser alterado, ou seja, quando percorrer a lista toda e nenhum elemento for trocado, aí você para de ordenar.
[quote=War Paz]Rodrigo, não sei se foi aqui mesmo no GUJ ou em algum outro lugar que que vi isso mas acho interessante o dizer: “Não reinvente a roda”
Realmente concordo que é bom pra exercitar o cérebro, mas por que não utilizar, se já está pronto? ;)[/quote]
Funcionar funciona, disso não há dúvida. E no trabalho eu não escrevo algoritmos que já estão prontos. Mas ajudam muito na hora de aprender estruturas de dados, e aprender a como pensar nelas.
O foco é o desenvolvimento do raciocínio lógico, que pra profissionais da nossa área, é essencial
Não se ensina matemática a alunos da primeira série dando uma calculadora pra eles