Estou fazendo um trabalho e estou tentando usar o algoritmo de ordenação Insertion Sort.
No Main fiz um list com varias cidades e quero ordenar o ID delas.
QUERIA SABER O QUE TO FAZENDO ERRADO / SOU INICIANTE NO ASSUNTO /
MAIN
package main;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import entities.Coodernada;
import entities.enums.Situacao;
import ordenacoes.SelectionSort;
public class Main {
public static void main(String[] args) {
List<Coodernada> lista = new ArrayList<Coodernada>();
lista.add(new Coodernada(6, "", "Mato Grosso", "MT", 310L, 261L, Situacao.DESMATADA));
lista.add(new Coodernada(4, "", "Pará", "PA", 212L, 841L, Situacao.DESMATADA));
lista.add(new Coodernada(7, "", "Rondônia", "RO", 441L, 561L, Situacao.DESMATADA));
lista.add(new Coodernada(3, "", "Amazonas", "AM", 914L, 145L, Situacao.DESMATADA));
lista.add(new Coodernada(1, "", "Roraima", "RO", 714L, 181L, Situacao.DESMATADA));
lista.add(new Coodernada(5, "", "Amapá", "AP", 239L, 618L, Situacao.DESMATADA));
lista.add(new Coodernada(2, "", "Tocantins", "TO", 100L, 350L, Situacao.DESMATADA));
Scanner sc = new Scanner(System.in);
System.out.println("Ordenar por: ");
String ordem = sc.nextLine();
switch (ordem) {
case "Longitude":
SelectionSort.ordernacaoPorLongitude(lista);
break;
case "Latitude":
SelectionSort.ordernacaoPorLatitude(lista);
break;
default:
break;
}
System.out.println("\n\n\n");
for (Coodernada e : lista) {
System.out.println(e);
}
sc.close();
}
}
CLASSE INSERTION SORT
package ordenacoes;
import java.util.List;
import entities.Coodernada;
public class InsertionSort {
public static int[] ordernacaoPorID(int id[]){
int chave, aux;
for (int i = 0; i < id.length; i++) {
chave = id[i];
aux = i-1;
while(aux >= 0 && id[aux] > chave){
id[aux+1] = id[aux];
aux -= 1;
}
id[aux+1] = chave;
}
return id;
}
public static void mostraID(List<Coodernada> lista){
for (int i = 0; i < lista.length; i++){
System.out.print(List<Coordenada>[i] + " , ");
}
System.out.println("");
}
}