Algoritmo de ordenação: Inserction Sort

Publicado por mfs (última atualização em 13/04/2010)

[ Hits: 5.123 ]

Download inserction_sort.c




Este algoritmo percorre o vetor da direita para a esquerda, e a medida que avança vai deixando os elementos da esquerda mais ordenados.

Como o Selection Sort, ele também só é eficiente com poucos algarismos.

  



Esconder código-fonte

#include <stdio.h>

void inserction_sort (int vetor[], int max) {
  int i, j, min;
  
  /* Ordena o vetor */
  for (j = 1; j < min; j++) {
    min = vetor[j];
    i = j-1;
    while (i >= 0 && vetor[i] > vetor[j]) {
      vetor [i + 1] = vetor [i];
      i--;
    }
    vetor[i + 1] = min;
  }
  
  /* Imprime o vetor já ordenado*/
  for (i = 0; i < max; i++) {
    printf ("%d ",vetor[i]);
  }
  printf ("\n");
}

main () {
  int max, i;
  
  /* Lê o máximo de algarismos */
  scanf ("%d", &max);
  
  int vetor[max];
  
  /* Lê os algarismos do vetor */
  for (i = 0; i < max; i++) {
    scanf ("%d",&vetor[i]);
  }
  
  selction_sort (vetor, max);
  
}

Scripts recomendados

Ordenação Topológica com Digrafos

Tabela ASCII em C++

Contador de moedas

Convertendo dias para anos.

D'GAME


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts