Algoritmo de ordenação: Inserction Sort

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

[ Hits: 5.148 ]

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

CAIXA ELETRÔNICO em c++ para Linux

Operações de Soma, Subtração, Multiplicação e Divisão

O comando SWITCH

Arquivo introdutório para chamadas de funções

Inverte frase


  

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