Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/06/2010, 21:06
margarito04
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: método de la burbuja

Bien es muy sencillo de enter el metodo de la burbuja, pero debo aclara que tu dudas no son precisamente con respecto al metodo si no mas bien con respecto a la programacion con arreglos. Aun asi tratare de explicarte. Por curiosidad tu implementaste ese programa:

Veamos el procedimiento, con un ejemplo:
supon que tienes el siguiente conjunto de numeros:

posicion 0 1 2 3 4 5 6 7 8 9
arreglo 3 4 2 1 8 9 0 7 5 6

y k vas a utilizar el metodo de la burbuja q en este caso esta representado por el siguiente codigo

for(i=0; i<(TAM-1); i++)
for(j=i+1; j<TAM; j++)
if(v[j]<v[i]){
aux=v[j];
v[j]=v[i];
v[i]=aux;
}

el primer for va a recorrer los elementos desde el primer elemento hasta un elemento antes del ultimo elemento, en este caso desde el elemento 0 hasta el elemento 8, ya que una vez que el primer ciclo llega hasta aqui en automatico o por default el ultimo elemento quedaria ya ordenado

el segundo for va desde desde i+1 hasta el final del arreglo, esto debido que esta en el supuesto de que todos elementos que van desde 0 hasta i ya estan ordenados.

en cuanto a v[j] = v[i], significa que el valor que se encuentra en la posicion j va a ser reemplazado por el valor que se encuentra en la posicion i.
debes tomar en cuenta q tu no puedes intercambiar el valor de dos variables asi
var1=1
var2=2

var1= var2
var2= var1

ya que la primera asignacion var1 tomara el valor de 2 asi k cuando var2=var1, var1 ya valdra 2 y no 1. Por eso que se hace uso de una variable auxiliar

var1=1
var2=2
tmp=var1

tmp= var2
var2= var1
var1=tmp