Freelancers BR

Encontre dicas, tutorias e empregos

Métodos de Ordenação em C: Inserção

Um dos principais assuntos de uma disciplina de Estrutura de Dados são os métodos de ordenação.
Apresento o método de Inserção em Linguagem C.

#include<stdio.h>
int main()
{
   int i, j,x;
   int vetor[5];

   printf("Vetor desordenado...\n");

   for(i=0;i<5;i++)
   {
      printf("num: ");
      scanf("%i",&vetor[i]);
   }

   for (j=1;j<5;j++)
   {
       x = vetor[j];
      i = j - 1;

      while((i>=0) && (vetor[i]>x))
      {
             vetor[i+1] = vetor[i];
             i = i - 1;
      }
        vetor[i+1] = x;
   }

   printf("\nVetor ordenado...\n");
   for(i=0;i<5;i++)
      printf("Vetor[%2d]: %3d\n",i+1,vetor[i]);

   getch();
}

Tags: , ,

Postado em segunda-feira, abril 28th, 2008 at 21:53 na categoria Acadêmicos. Siga o RSS 2.0 feed. You can leave a response, or trackback from your own site.

14 Respostas to “Métodos de Ordenação em C: Inserção”

  1. 22/09/2008 as 14:21

    samara luana disse:

    Me passei pelo seu código..

    me ajudou muitooo..

    =]

  2. 10/10/2008 as 18:24

    Karina disse:

    Oie, estou com um programa de pesquisa e selecao para fazer, sera q vc pode me dar umas dicas? Obrigada….se puder retornar por email ei agradeço….

  3. 8/06/2009 as 22:53

    Julie disse:

    Me ajudou bastante também… Obrigada (:

  4. 26/05/2010 as 11:04

    priscila disse:

    não sei nada de vetores e tenho prova amanhã…existe alguma chance de aprender???
    acho que não vou dormir hoje…
    =(

  5. 16/09/2010 as 20:04

    louco disse:

    x não esta inicializado, vai pegar lixo de memo

  6. 21/10/2010 as 22:35

    Vanessa disse:

    Me ajudo mt mt =D…
    Obrigada!

  7. 12/12/2010 as 16:33

    weslley disse:

    po vou começar a estudar essa nova disciplina…mas com essa ajuda acho q vou me dar bem… valeu

  8. 23/06/2011 as 18:56

    encrypter disse:

    Amigo, seu código é bom, mas se insiro o primeiro elemento maior que o segundo ele não é ordenado… segue um outro código que encontrei q é um pouco mais completo:

    #include
    #include
    int vetnum[5],i,j,aux;/*vetor, contadores, variavel auxiliar p/ troca
    de elementos no vetor*/
    int main ()
    {
    for(i=0;i<5;i++)//coleta de dados
    {
    printf("Digite o valor %d: ",i+1);
    fflush(stdout);
    scanf("%d",&vetnum[i]);
    fflush(stdin);
    }
    for(i=0;i<5;i++)/*Executa o for abaixo por 5 vezes para que ordene
    todo o vetor*/
    for(j=0;jvetnum[j+1])/*se a posição atual for maior
    que a posição posterior*/
    {
    aux=vetnum[j+1];//auxiliar recebe posição posterior
    vetnum[j+1]=vetnum[j];//P.Posterior recebe P.Atual
    vetnum[j]=aux;//P.Atual
    }
    }
    for(i=0;i<5;i++)//imprime os elementos ordenados para o usuário
    printf("\n\nO Valor %d: %d\n",i+1,vetnum[i]);
    fflush(stdout);
    return 0;
    }

  9. 23/06/2011 as 18:57

    encrypter disse:

    os includes acima são:

    #include
    #include

  10. 23/06/2011 as 18:57

    encrypter disse:

    stdio.h
    conio.h

  11. 19/07/2011 as 18:12

    rocha disse:

    e para ordenar palavras?
    como um dicionario ingles – portugues/ portugues – ingles?

  12. 21/08/2011 as 12:56

    Elenice disse:

    Me corrijam se estiver errada, as a função getch não precisa de uma biblioteca conio.h pra funcionar?

  13. 28/09/2011 as 10:52

    yago disse:

    Cara muito bom seu metodo mais facil de enterder do que apenas usando dois for. Show de bola parabens.

  14. 20/11/2011 as 22:57

    Paulo disse:

    sim Elenice, precisa da biblioteca “conio.h”

Deixe seu comentário!