Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lincon_

algoritmo bubblesort

Recommended Posts

Olá pessoal, estou com problemas com algoritmo de classificação, não entendo como funciona.. eu tenho um em visualg que está certo, eu copiei ele (aí embaixo), mas não entendo a lógica.. pra que serve esses "verdadeiros" e "falsos"? como o vetor é organizado? valeu

 

algoritmo "semnome"

// Função :

// Autor :

// Data : 5/7/2008

// Seção de Declarações

var

v:vetor [1..100] de inteiro

m,n,i,aux:inteiro

troca:logico

inicio

// Seção de Comandos

troca<-verdadeiro

leia (n)

m<-n-1

para i de 1 ate n faca

...leia (v)

fimpara

enquanto troca faca

...troca<-falso

...para i de 1 ate m faca

......se (v>v[i+1]) entao

.........aux<-v

.........v<-v[i+1]

.........v[i+1]<-aux

.........troca<-verdadeiro

......fimse

...fimpara

...m<-m-1

fimenquanto

escreva ("vetor classificado")

para i de 1 ate n faca

...escreva (v)

fimpara

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites
lincon_ se não indentar isso não tem como intender brother "/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bubblesort funciona do seguinte jeito:

 

Imagine que você tenha dois copos, um com vinho e outro com leite e você quer trocar o conteudo dos dois, o que você faria??

Voce vai precisar de 1 terceiro copo e assim colocar o vinho neste terceiro, depois o leito no copo onde tinha vinho e por ultimo colocar o vinho no copo onde tinha leito!!! hehehe parece meio patético, mas ajuda muito

 

programando:

a="vinho"
  b="leite"
  aux="vazio"
  aux=a
  a=b
  b=aux

agora tente fzr com um vetor...vai postando os avancos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bubblesort funciona do seguinte jeito:

 

Imagine que você tenha dois copos, um com vinho e outro com leite e você quer trocar o conteudo dos dois, o que você faria??

Voce vai precisar de 1 terceiro copo e assim colocar o vinho neste terceiro, depois o leito no copo onde tinha vinho e por ultimo colocar o vinho no copo onde tinha leito!!! hehehe parece meio patético, mas ajuda muito

 

programando:

a="vinho"
  b="leite"
  aux="vazio"
  aux=a
  a=b
  b=aux

agora tente fzr com um vetor...vai postando os avancos!!!

 

hmm. excelente analogia, mas como eu faço para os menores valores irem "subindo"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

use dois laços aninhados...compare o primeiro elemento com o segundo, caso for maior, efetua a troca, jogando sempre o maior para o final ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

a melhor forma de aprender é quebrando a cabeça mesmo velho, quanto mais se esforçar mais vai saber :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.