Ordenação de arquivo txt

desenvolvi um sistema bem simples o mesmo pega dados de um txt e faz a ordenação desses dados através do método insertion sort, porem não estou conseguindo retornar esses dados ordenados(printar na console do eclipse) eu sei que a logica do insertion sort esta correta pois já utilizei a mesma em projetos anteriores alguém tem alguma dica.

package TXT;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

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();

}
}

}

}

Você está equivocado.
Um array não é um tipo primitivo, embora neste caso, os elementos dele sejam do tipo primitivo int.
A ordenação dele está certa, ele recebe uma referência do tipo int[] e altera a ordem de seus elementos, não sendo necessário retornar um novo array.

1 curtida

O insertion sort funciona, veja aqui um exemplo online rodando.

O problema deve estar em outra parte do código.

vlw pelas informações pessoal,mais ainda estou travado nesse codigo,ele ainda não esta ordenando meu vetor numeros,já não sei mais o que fazer kkkk o metodo do insertion sort eu já havia utilizado ele em um outro projeto a um tempo atrás então em relação a ele esta tranquilo a questão é que não estou conseguindo utiliza-lo no meu array, voces teriam alguma dica ?

o insertion sort esta funcionando certinho e a outra parte do código na qual estou fazendo a importação dos arquivos txt acredito esta correta pois consigo fazer a importação de forma acertiva, o problema esta sendo quando tento utilizar o insertion sort no vetor que foi carregado a partir da importação, o engraçado que consigo printar o vetor que esta vindo do txt mais não estou conseguindo ordena-lo,já estou sem alternativas de como resolver…

tentei fazer este procedimento mais sem exito

Tens razão. Me equivoquei.

1 curtida