Insertion Sort
agora integer faz de alguns algoritmos de ordenação que nada mais análise noção do que algoritmos o que é coloca uma lista em uma determinada ordem que você quer aqui and beta tratando dois algoritmos que colocam uma lista na ordem crescente, mas eles são fáceis de alterar para qualquer outra ordem que você quiser, então vamos primeiro ver bom índice sejam sort em seis não só você vai inserir os elementos numa partida ordenado, ou seja, qualquer o passo a passo a passo a passo e vai separar sua lista.
Em dois ele vai ter uma parte que já foi ordenada e uma parte que ainda não foi ordenado, então vai aí ele vai pegar o primeiro elemento da parte não ordenado ele vai enquanto esse elemento for menor do que o anterior, ele vai trocar os dois.
O que isso vai fazer Enquanto ele estiver no lugar errado, ele vai colocar no encerramento para trás.
E aí No final ele repete isso para todos os elementos e no final a parte a parte ordenado.
Há a tem um tamanho da lista a partida ordenado e vazia, ou seja, a partir ordenado e há a lista que você queria ordenado rodar.
Exemplo linha aqui você tem essa essa lista, O que você vai fazer?
Você vai pegar parte vermelha que a parte não ordenado ia.
Parece que vai ficar velha, já parte ordenado.
Então você vai pegar o primeiro elemento.
Você vai com ele?
Como ele?
Só um elemento ele tá ordenado.
Só um elemento está ordenado, Então aí você repassar para o próximo eu vou sei
lá para o segundo andamento, você vai ver ele é maior ou menor do que o anterior.
Se ele há a menor, Você vai trocar a ele e aí você colocar ali nesse lugar aqui, porque ele chegou no começo da lista, Aí você vai para o próximo elemento, o primeiro elemento da parte não ordenado.
O que você vai fazer?
Você vai comparar ele com o anterior, ele é menor!
Estamos vai trocar.
E aí você coloca ali aqui no lugar, porque ele é maior do que isso aqui para o próximo elemento primeira lamenta do apaixona.
Ordenado um sete.
Ele é menor do que trinta e cinco, então você vai trocar?
Ele é menor do que vinte e quatro, Então você vai trocar.
Ele é maior do que dois, Então você vai colocar aqui mesmo, vão por catorze.
Ele é menor do que trinta e cinco, então c trocar menor do que vinte e quatro você vai trocar e maior do que sete.
Então ele vai ficar que mesmo ia parte, então lista ordenada.
Então agora vamos ver como esse código você vai ter.
Esse é o código basicamente e vamos ver aqui como que ele funciona.
Ele vai começar em um, porque o primeiro elemento a gente sabe que já está ordenado.
Ele vai ver aqui enquanto esse elemento que está verificando for, menor do que len se ele formato óbvio, cumprimento.
Ele vai pegar, ele vai fazer, vai estar verificando esse elemento E aí ele vai começar a comparar esse elemento com os anteriores, Então você vai ter o ia o que é o a elemento que você está, que é o primeiro da partida ordenada vai ter J que vai servir para ir trazendo ali para trás.
Estão aí o J como esta, diminuindo você vai enquanto ele for maior do fizeram m você foi o elemento anterior J menos um foi maior do que J.
Quando isso acontecer, que você vai fazer você vai trocar se ele J menos um com ele.
J ali J com eles J Razões porque é uma notação abreviada que serve para o setor causa dois do Python já faz toda a coisa de variáveis auxiliares se você decai J Quando você acha a posição certa do esse elemento aqui você aumenta a UE e vai para a prosa e no final você pode imprimir se ele, Então vamos ver como isso funciona.
O primeiro elemento J ordenado como falei então tivemos vai fazer?
Você tem o ia igual enquanto isso foi menor do que len se ele Você vai fazer isso?
Aquilo J igual aí não estava em funcionamento J e maior do fizeram qual que e aí porque já tem um mais and J menos um ele de 0 lower doze menor do que ali J então você nem vai entrar nesse loop você vai deixar o três aqui mesmo E aí você vai para aproximadamente.
Agora o ia igual dois J igual dois J maior do que zero, só que agora ele J menos um se ele de um treze é maior do que eu and J então o que vai fazer?
Você vai trocar os dois e aí vai abaixar o jovem então J agora é uma porque a posição dos sete aí você comparar de novo se ele de 0 maior do que o de um que aos sete doze é maior do que sete.
Você vai trocar os dois E aí, você?
Como J virou zero, você vai deixar os sete aqui mesmo E aí você aumento m e vai para o próximo elemento?
Você vai para quatro.
Você vai trocar com treze trocar com doze Trocar como sete deixa aqui mesmo e aí Agora você saiu nesse loop você aumentou e só que agora virou virou cinco, que é maior do que virou quatro, que é maior do que é igual a integer, então ele não vai entrar nesse loop, então ele vai imprime e eles são imprime esse vetor ordenado bonitinho.