package br.edu.ifba.inf008.contabil.util;
public class Ordenador{
    
    public void ordenar(Ordenavel[] ordenaveis){
        boolean trocado;
        do{
            trocado = false;        
            for (int iCont =  0; iCont <  ordenaveis.length - 1; iCont++){
                
                if(ordenaveis[iCont].compareTo(ordenaveis[iCont+1]) > 0){
                    Ordenavel aux = ordenaveis[iCont+1];
                    ordenaveis[iCont+1] = ordenaveis[iCont];  
                    ordenaveis[iCont] = aux;  
                    trocado = true;             
                }
            }
        }while(trocado);
    }    
    
    public void ordenar(Ordenavel[] ordenaveis, Comparador c){
        boolean trocado;
        do{
            trocado = false;        
            for (int iCont =  0; iCont <  ordenaveis.length - 1; iCont++){
                
                if(c.compareTo(ordenaveis[iCont],ordenaveis[iCont+1]) > 0){
                    Ordenavel aux = ordenaveis[iCont+1];
                    ordenaveis[iCont+1] = ordenaveis[iCont];  
                    ordenaveis[iCont] = aux;  
                    trocado = true;             
                }
            }
        }while(trocado);
    }    
    
    
    
}
