Vous êtes sur la page 1sur 6

Estrutura de Dados

Ordenao Por Insero


Funcionamento
Implementao

O que ?
Este o mtodo de ordenao mais rpido
entre os mtodos bsicos.
Ordena um vetor da esquerda para a direita,
por ordem crescente ou decrescente.
medida que o vetor vai sendo percorrido ele
deixa seus elementos esquerda ordenados.

Funcionamento
Percorre um vetor, sempre a partir do primeiro
ndice desordenado (inicialmente o 2
elemento), e em seguida procura inseri-lo na
posio correta, comparando-o com o seu(s)
anterior(s) e trocando-os de lugar enquanto
ele for menor que seu(s) precedente(s).

Implementao
void insercao(int v[], int tam)
{
int j, i, temp;
for (i=1;i<tam;i++)
{
//guarda o elemento que esta verificando
temp = v[i];
//verificando os elementos anteriores a posicao i
for(j= i-1;v[j]>temp && j>=0;j--)
{
v[j+1] = v[j];
}
//insere o elemento na posicao correta (ordenada) ate i.
v[j+1] = temp;
}
}

Eficincia
Melhor caso: quando os elementos j esto
ordenados.
Caso mdio: quando parte dos elementos j
est ordenada.
Pior caso: quando os elementos esto
ordenados em ordem inversa.

Vantagens

Desvantagens

Fcil Implementao

Grande nmero de movimentaes

Algoritmo Estvel

No eficiente quando o vetor est


ordenado inversamente

Eficiente com vetores de poucos


elementos

No recomendado para vetores


com muitos elementos

Vous aimerez peut-être aussi