Selection Sort
agora a gente vai para o próximo algoritmo de erro iteração ou selection sort ou selection sort, assim como insertion sort, se ele também divide há a.
Lista em uma sub lista ordenada lista ordenada há a ordenado há a esquerda ia desordenada direita.
A diferença é que ao invés de achar pegar o primeiro valor da não ordenada e voltando, ele procura o menor valor da não ordenada e coloca no começo da partida ordenado então que o que vai acontecer ele vai ter a lista inteira.
Ele vai pegar o menor valor é colocar no começo há a Ele vai pegar só a partir do segundo andamento, vai procurar o menor valor e colocar na segunda posição e assim ele vai se encontrar com o menor aqui.
Então vou dar um exemplo aqui você tiver essa lista aqui você vai fazer o que será a vez é que o menor não.
Você vai primeiro, assume esse aqui como menor, mas há a se você acompanhando os outros esse aqui é menor, não é menor, não é menor não.
Esse aqui esse aqui é menor, então como and chegou no final da lista, quer dizer
que esse é que é o menor de todos, então você vai colocar no começo você faz a mesma coisa para o progresso da parte não ordenado.
Você considera se como menor ou igual como é que esse aqui e menor e por enquanto esse aqui menores todos esse quer menor não esse aqui, isso aqui é menor pronto, gente qualquer no começo a gente vai ver aqui isso aqui vai ser o menor de todos.
Então ele vai continuar no começo aqui esse aqui e o menor, na verdade não, porque isso aqui é menor do que ele, então vamos considerar esse com menor, chegou no final da lista, estão o z, corre aqui no começo da partida, ordenado esse aqui menor dessa parte sobre então ele e esse e lista ordenada vão mostrar aqui, então o código disso.
O código é um pouco mais complicado do que o outro, mas segue uma lógica bem simples.
Da minha, você começa o em zero e a posição em que começa a parte não ordenado.
E aí você vai andando com isso ao longo de len de erro aqui você tem tramitando m.
Você vai até o final da lista.
O que você vai fazer no começo?
Você vai colocar no mínimo o número mínimo que você achou, é o primeiro que eu a posição do número mínimo que você achou há a a primeira função E aí você tem um outro loop com J que começa a partir do próximo elemento que procura o menor elemento certo.
Isso aqui tá basicamente percorrer no menor elemento porque você está trocando aqui.
Se for menor você troca o mínimo que você troca qual que é o mínimo, então estar percorrendo toda lista também e aí.
No final você troca o começo long que é o primeiro da partida ordenado com o menor número tão dois exemplo qual que é, você tem essa lista vai acontecer da mesma forma que a outra lá você vai começar aqui considerando o mínimo como essa.
E aí você vai percorrer nesse loop aqui oito é menor do que dez, Então você fazer vai colocar o mínimo como oito mil e mínimo como um que a posição aqui da lista se você levels outras há a inversa esse há a menor vai trocar esse de posição e aí o IVA incrementar, Agora o IVA vira um, então e vai começar aqui, Então esse aqui vai ser o mínimo e aí você fazer a mesma coisa partir do dois com dois ou três estamos, vai ver que esse é o menor, vai deixar esse aqui mais inversa a essência menor e vai trocar de lugar e aí o último Ele obviamente é o menor da parte não ordenado há a que só tem ele.