Ordenar vetor com algoritmo Insertion Sort
Autor/fonte: Santiago Staviski
E-mail/Url: http://www.vivaolinux.com.br/script/Ordenar-vetor-com-algoritmo-Insert...
Tags: [ insertion sort ]
Tweet
Ordena um vetor em ordem crescente ou decrescente usando um método de ordenação Insertion Sort.
Script:
Script:
/*Autor: Allen Konstanz
* Web: allenkonstanz.blogspot.com */
#include <stdio.h>
void insertionSortD(int array[], int tamanho) {
int i, j, tmp;
for (i = 1; i < tamanho; i++) {
j = i;
while (j > 0 && array[j - 1] < array[j]) {
tmp = array[j];
array[j] = array[j - 1];
array[j - 1] = tmp;
j--;
}
}
}
void insertionSortC(int array[], int tamanho) {
int i, j, tmp;
for (i = 1; i < tamanho; i++) {
j = i;
while (j > 0 && array[j - 1] > array[j]) {
tmp = array[j];
array[j] = array[j - 1];
array[j - 1] = tmp;
j--;
}
}
}
int main(int argc, char** argv)
{
int array[100], tamanho, ordem;
printf("\n\n\t Entre com o número de termos...: ");
scanf("%d", &tamanho);
printf("\n\t Entre com os elementos do array...:");
for(int i = 0; i < tamanho;i++){
printf("\nDigite o %dº número: ",i+1);
scanf("%d",&array[ i ]);
}
printf("\n\t Digite 1 para ordernar o array em ordem crescente ou 2 para ordem decrescente: ");
scanf("%d",&ordem);
if (ordem == 1){
insertionSortC(array,tamanho);
printf("\nArray em ordem crescente: ");
for(int i=0; i<tamanho; i++){
printf("\n\t\t\t%d", array[ i ]);
}
}else if (ordem ==2) {
insertionSortD(array,tamanho);
printf("\nArray em ordem decrescente: ");
for(int i=0; i<tamanho; i++){
printf("\n\t\t\t%d", array[ i ]);
}
}
return 0;
}
Enviado por xKuRt em 27/06/2010 às 20:02
Avaliação
Esta publicação ainda não foi avaliada!
A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.
Comentários
Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).
Envio de comentário:
Quarta, 22 de Maio de 2013
Área restrita
Leitura recomendada
Ruby on Rails: Desenvolvimento Fácil e Rápido de Aplicações Web
Últimas publicações
- Brasil tem mais de 100 milhões de acessos à internet em banda larga
- Vírus pelo Skype já afetou 80 mil pessoas na América Latina
- Setor de telecomunicações vai receber mais recursos para a melhoria da internet
- Lynx - Browser via terminal no GNU/Linux
- Microsoft anuncia novo Xbox One, concorrente do PlayStation 4
Top 5 membros
- dddweb213 pts
- andersonop207 pts
- Jotah197 pts
- fbinasco165 pts
- fredbcn117 pts
Últimos membros online
- jefersondivulgaçoesfem 22/05 às 19:10
- GabsMullerem 22/05 às 18:58
- ricardohem 22/05 às 14:06
Últimos membros cadastrados
- GabsMullerem 22/05
- igorabbem 20/05
- paulinho2012em 20/05





