Algoritmo de ordenação: Inserction Sort

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

[ Hits: 5.309 ]

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

Labirinto de Teseu

Parte 8 - Sessão de estudo sobre VETORES

Numero por extenso em c

Digitar dados em um vetor, guardando-os sequencialmente em um arquivo texto

Inverte uma 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