Desenvolvimento Java

Método de Ordenação por Inserção Direta

O Método de ordenação por Inserção Direta é parecido com o modo de se ordenar as cartas em um jogo de pôquer. Inicia-se com a mão esquerda vazia e as cartas viradas com a face para baixo na mesa. Em seguida, remove-se uma carta de cada vez da mesa, inserindo-a na posição correta na mão esquerda.
Para encontrar a posição correta de uma carta, é realizado a comparação da carta retirada da mesa com cada uma das cartas que já estão na mão, da direita para a esquerda. Em cada instante, as cartas seguras na mão esquerda são ordenadas; essas cartas eram originalmente as cartas superiores da pilha na mesa.
Método de ordenação por Inserção Direta

Funcionamento:

  • Vetor é dividido em 2 subvetores;
  • Inicialmente o primeiro segmento contém um único elemento e consequentemente está ordenado. O segundo segmento contém os (n-1) elementos restantes.
  • A cada passo, a partir de i=2, o i-ésimo elemento é transferido do segundo segmento para o primeiro segmento, sendo inserido na sua posição apropriada.

 

Exemplo passo a passo:

Método de ordenação por Inserção Direta

Fonte em java utilizando vetor:

public static void ordenacaoInsercaoDireta(int vet[], int tl){
int i, j, chave;
//for – controla os valores que serao inseridos de maneira ordenada
for (i = 0; i<tl; i++){
j = i-1;
chave = vet[i];
while ((j>=0)&&(vet[j]>chave)){
vet[j+1] = vet[j];
j = j-1;
}
vet[j+1]=chave;
}
}

Acesse nosso canal no YouTube para visualizar outros vídeos sobre programação, como por exemplo Python, Java e Desenvolvimento de sistemas comerciais utilizando a linguagem C#.
Material retirado do livro: “Algoritmos Teoria e Pratica – Cormen, Leiserson”.

About the author

Danilo Filitto

Mestre em Ciência da Computação pela Universidade Estadual de Maringá - UEM, Pós-Graduado em Redes de Computadores e Comunicação de Dados pela Universidade do Estado do Paraná - UEL, Bacharel em Ciência da Computação pela Universidade do Oeste Paulista - UNOESTE.

Atuo na área acadêmica como professor desde 2006. Atualmente leciono na UNOESTE (Universidade do Oeste Paulista), no SENAC (Serviço Nacional de Aprendizagem Comercial) e possuo vários cursos na Udemy (https://www.udemy.com/user/danilo-filitto/).

Além disso, sou o CEO dos sites https:www.dfilitto.com.br e https:www.makeindiegames.com.br

Você também pode me encontrar no YouTube por meio do endereço https://www.youtube.com/danilofilittoppr

Inscreva-se para receber em seus e-mais as notícias do nosso site

Quer aprender a programar?