Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/06/2010, 07:26
minette1988
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: método de la burbuja

Tengo problemas para entender el siguiente algoritmo que ordena un vector de menor a mayor:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define TAM 5
  4.  
  5. int main(){
  6.          int v[TAM];
  7.          int i;
  8.          int j;
  9.          int aux;
  10.  
  11.          for(i=0; i<TAM; i++){
  12.             printf("Numero: ");
  13.             scanf("%d", &v[i]);
  14.          }
  15.          for(i=0; i<(TAM-1); i++)
  16.             for(j=i+1; j<TAM; j++)
  17.                if(v[j]<v[i]){
  18.                  aux=v[j];
  19.                  v[j]=v[i];
  20.                  v[i]=aux;
  21.                }
  22.          for(i=0; i<TAM; i++)
  23.              printf("%d\n", v[i]);
  24. }

1º En el tercer bucle for por qué pone
Código C:
Ver original
  1. j=i+1
.
2º Dentro del if ¿qué hace esta instrucción?
Código C:
Ver original
  1. aux=v[j];
la variable aux ¿qué hace? y a continuación ¿que significa
Código C:
Ver original
  1. v[j]=v[i]
.
Por último la instrucción
Código C:
Ver original
  1. v[i]=aux;
¿qué hace? ¿por qué aquí la variable aux se coloca a la derecha y arriba a la izquierda. Espero que puedan aclararme estas dudas. Gracias.