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: estrutura de dados, linguagem C, metodos de ordenacao em C
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.
22/09/2008 as 14:21
Me passei pelo seu código..
me ajudou muitooo..
=]
10/10/2008 as 18:24
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….
8/06/2009 as 22:53
Me ajudou bastante também… Obrigada (:
26/05/2010 as 11:04
não sei nada de vetores e tenho prova amanhã…existe alguma chance de aprender???
acho que não vou dormir hoje…
=(
16/09/2010 as 20:04
x não esta inicializado, vai pegar lixo de memo
21/10/2010 as 22:35
Me ajudo mt mt =D…
Obrigada!
12/12/2010 as 16:33
po vou começar a estudar essa nova disciplina…mas com essa ajuda acho q vou me dar bem… valeu
23/06/2011 as 18:56
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;
}
23/06/2011 as 18:57
os includes acima são:
#include
#include
23/06/2011 as 18:57
stdio.h
conio.h
19/07/2011 as 18:12
e para ordenar palavras?
como um dicionario ingles – portugues/ portugues – ingles?
21/08/2011 as 12:56
Me corrijam se estiver errada, as a função getch não precisa de uma biblioteca conio.h pra funcionar?
28/09/2011 as 10:52
Cara muito bom seu metodo mais facil de enterder do que apenas usando dois for. Show de bola parabens.
20/11/2011 as 22:57
sim Elenice, precisa da biblioteca “conio.h”