to com o seguinte problema tenho um arquivo txt com numeros aleatorios,preciso importar esse arquivo e utilizar o selection sort para ordena-los porém não estou conseguindo, meu metodo selection sort esta correto pois já utilizei essa logica em um programa anterior já debuguei e mesmo assim não identifiquei o por qual motivo ele não esta ordenando meu arquvo txt que foi armazenado no vetor numeros [].alguém teria alguma dica ?
abaixo segue meu codigo:
public class ImportacaoMaisInsertion {
private static void printVetor(int[]vetor) {//essa logica serve apenas para exibir meu vetor
for(int i=0; i<vetor.length; i++) {
System.out.println(vetor[i]);
}
}
private static void InsertionSort(int []vetor) {//apartir desse ponto se inicia minha logica para o insertion sort
int chave,valor;
for(int i=1; i < vetor.length; i++) {
chave = i;
valor = vetor[i];
while(chave > 0 && valor < vetor[chave-1]) {
vetor[chave]=vetor[chave-1];
chave--;
}
vetor[chave]=valor;
}
}
public static void main(String[] args) {
String linha = new String();
String nomeArquivo = "C:/Users/mathe/Desktop/teste.txt";
File arquivo = new File(nomeArquivo);
if (arquivo.exists()) {
try {
FileReader LeitorDeArquivo = new FileReader(nomeArquivo);//ler arquivo
BufferedReader BufferDeArquivo = new BufferedReader(LeitorDeArquivo);//ler arquivvo
while ((linha = BufferDeArquivo.readLine()) != null){//lendo linha por linha do meu arquivo txt com a logica do while (ele vai ler a linha enquanto ela for diferente de null
String[]DadosTXT = linha.split(" ");//armazenando as string em um vetor chamado []DadosTXT de cada linha do vetor dados
int[]numeros = new int[DadosTXT .length];//criando o vetor de inteiro
for(int i = 0;i<DadosTXT .length;i++) {
numeros[i]= Integer.parseInt(DadosTXT[i]);//convertendo a string para int e colocando no vetor de inteiro vetor
}
if(linha==null) {
break;
}
InsertionSort(numeros);
printVetor(numeros);
}
}catch(Exception e) {
e.printStackTrace();
}
}
}