Ir ao conteúdo
  • Cadastre-se

Método bubblesort


Posts recomendados

Boa noite, então estou construindo um código em que, precise gerar 100 mil números aleatórios sem repetições e depois ordena-los com 3 tipos de ordenação. A parte de criar os números sem repetir já o fiz, o problema está em justamente criar o método bubble sort, no debug ele faz certo mas na hora de executar aparece embaralhado então não creio que o if esteja errado. Segue o código completo. Creio eu que um dos meus erros esteja em como estou chamando. Outro erro é no Bubblesort.get(j), no debug fala que não existe a variável j sendo que ela está criada, quando rodo pelo debug, ele nem entra nesse if Bubblesort.get(j), já pula pro outro if. A dúvida fica nesses dois, como fazer com que o programa enxergue o J que está criado, e depois como vou chamar essa lista ordenada no Teste3 ?

package APS;

import java.util.ArrayList;

public class Teste3 {
	public static void main(String[] args) {
	Teste2 teste = new Teste2();
		
	System.out.println(teste);
	BubbleSort teste2 = Ordenar. BubbleSort();
    	 
      }
	}
	
=========================================================================================================================================

package APS;

import java.util.ArrayList;
import java.util.Random;

public class Teste2 {
    		
	public ArrayList<Integer> vetores(){
		
	ArrayList<Integer> vetor = new ArrayList<Integer>();
	int tamanho = 4;
	Random gerarnumero = new Random();
		
	for (int i = 0; i < tamanho; i++) {
		vetor.add(i);
	}
     for (int i = 0; i < tamanho ; i++){
		int b = gerarnumero.nextInt(tamanho);
		int aux = vetor.get(i);
		vetor.set(i, vetor.get(b));
		vetor.set(b, aux);
		}
	
	
     for(int j=0; j< vetor.size(); j++){
    	 System.out.println(vetor.get(j));
     }
     
     return vetor;     
     }

 		
	}	
	
=========================================================================================================================================
                                  
  package APS;
import java.util.ArrayList;
import java.util.Collections;
import APS.Teste2;
public class BubbleSort {
	  
	   BubbleSort(){
		Teste2 Ordenar = new Teste2();
		ArrayList<Integer> Bubblesort = Ordenar.vetores();
		boolean controle;
		
	    for (int i = 0; i < Bubblesort.size()-1; i++){
	    	controle = true;
	    	for (int j =0; j < (Bubblesort.size()-i); j++){
	    		 if (Bubblesort.get(i).compareTo(Bubblesort.get(i+1))>0){
	    			Integer a = Bubblesort.get(i);
	    			Bubblesort.set(i, Bubblesort.get(i+1));
	    			Bubblesort.set(i+1, a);
                   controle = false;
	    		}
	    	if (controle){
	    		break;
	    	}
	    		
	    	}
	    	
	    	}
     for(int i = 0; i < Bubblesort.size();i++){
	    	System.out.println(Bubblesort.get(i));
	    }
	   
	    }
}		


	

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...