Algoritmo de ordenação: Selection Sort
Publicado por mfs (última atualização em 12/04/2010)
[ Hits: 61.947 ]
Esse é outro tipo de algoritmo de ordenação. É um método simples e muito eficiente com pequenas quantidades de números.
#include <stdio.h>
void selection_sort (int vetor[],int max) {
int i, j, min, aux;
for (i = 0; i < (max - 1); i++) {
/* O minimo é o primeiro número não ordenado ainda */
min = i;
for (j = i+1; j < max; j++) {
/* Caso tenha algum numero menor ele faz a troca do minimo*/
if (vetor[j] < vetor[min]) {
min = j;
}
}
/* Se o minimo for diferente do primeiro numero não ordenado ele faz a troca para ordena-los*/
if (i != min) {
aux = vetor[i];
vetor[i] = vetor[min];
vetor[min] = aux;
}
}
/* Imprime o vetor ordenado */
for (i = 0; i < max; i++) {
printf ("%d ",vetor[i]);
}
printf ("\n");
}
main () {
int max, i;
/* Lê o máximo de algarismos do vetor*/
scanf ("%d",&max);
int vetor[max];
/* Lê os algarismos do vetor */
for (i = 0; i < max; i++) {
scanf ("%d",&vetor[i]);
}
selection_sort (vetor, max);
}
Conceito (nota - aprovado - reprovado)
Transformação de Matriz em Matriz Transposta
Ordenar vetor com algoritmo Insertion Sort
Bhaskara - Cálculo de raízes de equações do segundo grau
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Gerenciamento de Vídeo Híbrido (Intel/NVIDIA) via nvidia-prime no Ubuntu e derivados
Assistindo IPTV no Linux com Fred TV e Lista Free TV
Impressora Tomate MDK-007 no Ubuntu (ou qualquer distro Linux)
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
Entendendo o Maven com JavaFX (0)
Tive um problema ao abrir minha partição Btrfs. Como posso resolver is... (1)
Enquete: qual bloco de código C++ é mais legível? (4)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (11)









