If you're seeing this message, it means we're having trouble loading external resources on our website.

Se você está atrás de um filtro da Web, certifique-se que os domínios *.kastatic.org e *.kasandbox.org estão desbloqueados.

Conteúdo principal

Ordenando

Classificar uma lista de itens em ordem crescente ou decrescente pode ajudar tanto um humano quanto um computador a encontrar itens da lista rapidamente, talvez usando um algoritmo como o da pesquisa binária. JavaScript tem um método de classificação nativo. Ele funciona em arrays de números ou até mesmo em arrays de strings:
var animals = ["gnu", "zebra", "antelope", "aardvark", "yak", "iguana"];
animals.sort();
println(animals);
Mesmo que o JavaScript tenha um método de classificação nativo, classificar é um ótimo exemplo de como pode haver muitas maneiras de pensar um mesmo problema, algumas talvez melhores que outras. Compreender a classificação é um tradicional primeiro passo para o domínio de algoritmos e da ciência da computação.
Você implementará um algoritmo particular de classificação em um momento. Mas, como aquecimento, aqui está um problema de classificação para praticar. Você pode trocar qualquer par de cartas ao clicar em uma carta e depois na outra. Troque as cartas até que elas estejam ordenadas com a menor carta à esquerda.
Que estratégia você usou para ordenar as cartas? Sua estratégia mudou durante a ordenação?

Este conteúdo é uma colaboração entre os professores de ciência da computação da Universidade de Dartmouth, Thomas Cormen e Devin Balkcom, juntamente com a equipe do currículo de computação da Khan Academy. O conteúdo é licenciado CC-BY-NC-SA.

Quer participar da conversa?

  • Avatar male robot hal style do usuário Renato Sousa
    Minha estratégia foi ir comparando os elementos com seus vizinho de uma forma sequêncial levando assim os maiores números para o fim e trazendo os menores para o inicio.
    Ex:
    Comparar posição 0 com a posição 1 - pos0 > pos1 se a posição 0 for maior que a posição 1 troco de posição e vou para próxima comparação pos1 > pos2 e assim até chegar na pos9 > pos10 finalizando 1 iteração.
    Ao iniciar a nova iteração eu diminuo 1 do tamanho do meu vetor pois já sei que o ultimo elemento é o maior, nesse caso essa segunda iteração vai somente até pos8 > pos9 e assim indo diminuindo a cada iteração.
    Essa foi a unica estratégia usada na ordenação e não sofreu nenhuma alteração durante o processo!
    (4 votos)
    Avatar Default Khan Academy avatar do usuário
  • Avatar blobby green style do usuário Marcus Becker
    Minha estratégia foi jogar as cartar de maior número para o final, ordenando de trás para frente.
    (3 votos)
    Avatar Default Khan Academy avatar do usuário
  • Avatar blobby green style do usuário brunatainaa39
    Minha estratégia foi ir colocando as maiores no final
    (2 votos)
    Avatar Default Khan Academy avatar do usuário
  • Avatar blobby green style do usuário jarbson_barbosa
    comecei pelos estremos
    (2 votos)
    Avatar Default Khan Academy avatar do usuário
Você entende inglês? Clique aqui para ver mais debates na versão em inglês do site da Khan Academy.