Algoritmo de ordenação: Inserction Sort

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

[ Hits: 5.599 ]

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

trabalho de aula da empresa

Função simples sendo chamada dentro da main

Labirinto de Teseu

olamundo.c - Primeiro programa

Acendedor de leds pela porta paralela


  

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