Olá,

O método de ordenação por seleção normal (onde o menor elemento é encontrado e colocado na primeira posição e assim consecutivamente até que todo o vetor seja ordenado) é dado pelo algoritmo:

selecao<-function(vet)
{
  tam<-length(vet)


  for(i in 1:tam)
  {
    pm<-which.min(vet[i:tam])
    pm<-pm+i-1      
    temp<-vet[i]       
    vet[i]<-vet[pm]     
    vet[pm]<-temp
  }

  return(vet)
}

Como posso alterar esse código para que a busca seja feita pelo maior elemento e este seja colocado na última posição?

Pensei em algo assim:

selecao<-function(vet)
{
  tam<-length(vet)


  for(i in tam:1)
  {
    pm<-which.max(vet[tam:i])
    pm<-pm+ ??
    temp<-vet[i]       
    vet[i]<-vet[pm]     
    vet[pm]<-temp
    
  }

  return(vet)
}


Porém, não sei que atribuição dar ao novo pm para que a ultima colocação seja desconsiderada.

Agradeço desde já!

Att,
Jackeline