*Resolvido* Meu Selection Sort tem um bug

1 resposta
SirDominque

Gente ajuda. To quebrando a cabeça pra saber pq a resposta esta dando errado :

run: R[i]= 0 R[i]= 1 R[i]= -1 R[i]= 3 CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)
public static void SelectionSort(int A[])
    {
        for (int i=0;i < A.length;i++)
        {
            iMaior = i;
            for (int j=0; j< A.length;j++)
            {
               
                
              if (A[j] > A[iMaior])
              {
                  iMenor = iMaior;
                  iMaior = j;
                  
              }
            }
            
          
            if ( iMenor != iMaior)
            {
                
               aux = A[iMenor];
               A[iMenor] = A[iMaior];
               A[iMaior] = aux; 
            }
            
            
            
        }
        
    }
----------
public static void CheckVet(int R[])
    {
        for (int i = 0; i< R.length ;i++)
        {
            System.out.println("R[i]= " + R[i]);
        }
    }

1 Resposta

SirDominque
public static void SelectionSort(int A[])
    {
        for (int i=0;i < A.length;i++)
        {
            iMenor = i;
            for (int j=0; j < A.length;j++)
            {
                
                
              if (A[j] < A[iMenor])
              {
                 iMenor = j;
                  
              }
            }
            
           
            if ( iMenor != iMaior)
            {
                
               aux = A[i];
               A[i] = A[iMenor];
               A[iMenor] = aux; 
            }
            
            
            
        }
        
    }
    
    
    public static void ReverseSelectionSort(int A[])
    {
         for (int i=0;i < A.length;i++)
        {
            iMaior = i;
            for (int j=0; j< A.length;j++)
            {
                //System.out.println("A[j]" + A[j]);
                
              if (A[j] > A[iMaior])
              {
                 iMaior = j;
                  
              }
            }
            
            //System.out.println("A[Maior]" + A[iMaior]);
            //System.out.println("A[Menor]" + A[iMenor]);
            if ( iMenor != iMaior)
            {
                
               aux = A[i];
               A[i] = A[iMaior];
               A[iMaior] = aux; 
            }
            
            
            
        }
    }
Criado 26 de junho de 2012
Ultima resposta 26 de jun. de 2012
Respostas 1
Participantes 1