Ordenar vetor com algoritmo Insertion Sort
Publicado por Santiago Staviski (última atualização em 22/06/2010)
[ Hits: 53.614 ]
Homepage: http://allenkonstanz.blogspot.com
Ordena um vetor em ordem crescente ou decrescente usando um método de ordenação Insertion Sort.
/*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; }
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Porblema com MergeList [RESOLVIDO] (10)
Melhor hospedagem em nuvem para projetos Laravel com baixo custo? [RES... (7)
Como baixar os drivers de áudio no linux mint? (7)
Como posso localizar o arquivo HTML da página inicial do GLPI dentro d... (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta