Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Wolverine X Sabretooth
Por jlojunior
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Murilo em (última atualização em 12/04/2010)   [ 4421 hits ]

Login: Murilo_FS, 47737 pontos

   


Descrição

Esse é outro tipo de algoritmo de ordenação. É um método simples e muito eficiente com pequenas quantidades de números.

[ Download: selection_sort.c ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#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);
  
}

Scripts recomendados
   Script Linux recomendado Ávores binárias em C
   Script Linux recomendado Pilha estática
   Script Linux recomendado Decimal ( 8 bits ) para binário
   Script Linux recomendado Criando um Quadrado com asteriscos
   Script Linux recomendado Tabuada no terminal

Comentários
[1] Comentário enviado por leandrox em 12/04/2010 - 21:26h:

Você deveria colocar para imprimir o que se lê ...

[2] Comentário enviado por Murilo_FS em 12/04/2010 - 23:16h:

É meio desnecessário, pois o scanf imprime na tela a entrada do teclado, mas seria só adicionar o mesmo for do final da função selection_sort().


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.