Você está na página 1de 3

package RecursividadArreglos;

/**
*
* @author Alfonso
*/
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author bash
*/
/*agrega las librerias para que se puedan usar instrucciones de entrada
desde el teclado y de salida hacia la pantalla
*/
import java.io.*;
//esta clase siempre va y se debe llamar como se llama el archivo
public class Burbuja {
/**
* @param args the command line arguments
*/
//esta es la funcion principal y siempre se pone igual
public static void main(String[] args) throws IOException{
//estas dos lineas simpre van y sirven para declarar una variable
//de tipo buffer (para la memoria RAM)
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
//System.out.println sirve para enviarle informacion al usuario
System.out.println("Programa del Metodo de Burbuja");
System.out.println("Estructura de Datos");
System.out.println("Autor: Bash");
//declaramos el arreglo de 12 posiciones y de tipo entero
int [] arreglo=new int [12];
//Un for sirve para repetir una o varias lineas de codigo varias veces
//un for esta compuesto de 3 partes 1.-Inicializacion (int i=0)
//esta parte del for solo se ejecuta la primera vez
//parte 2.- Condicion (i<12) se ejecuta siempre para evaluar si cumple y
//si cumple se sigue ejecutando
//tercera parte.- i++ sirve para incrementar la variable i en 1
//esta i++ equivale a i=i+1. LA TERCERA PARTE NO SE EJECUTA LA PRIMERA
//VEZ que entra al for, solo hasta la segunda vez YYYYYYYYYY
//primero se ejecuta i++ y luego evalua la condicion (i<12)
//este for sirve para pedir todos los datos y guardarlos en el arreglo
for(int i=0;i<12;i++)
{
//la primera vez esta linea envia---->Dame el n0
//la segunda vez esta linea envia---->Dame el n1
System.out.print("Dame el n"+i+": ");
//la primera vez
arreglo[i]=Integer.parseInt(br.readLine());
}
//declaracion de una variable temporal y 2 variables para los bucles
int i, j, temp;
//imprimos el arreglo con los valores iniciales
//manda mensaje al usuario
System.out.println("arreglo antes de ordenar......");
System.out.println("");
//este fopr sirve para mostrar los datos del arreglo
//la primera ves que entra muestra---Ejemplo--->arreglo[0]=10
for (j =0; j <11; j++) {
System.out.println("arreglo["+j+"] = "+arreglo[j]);
}
//despues imprimimos el arreglo ordenado...(1)
System.out.println("");
System.out.println("arreglo despues de ordenar......");
System.out.println("");
//ordenamos los elementos de el arreglo de menor a mayor ...(2)
//realizamos el recorrido del arreglo con dos bucles "for"
for (i = 1; i <12; i++ ){//INICIO FOR A
for (j = 0; j <12 - i ; j++)//INICIO FOR B
{
/*
el elemento del arreglo con respecto a la varible j que esta dentro de e
l
bucle, se compara con su adyacente en el arreglo (el primero con el segu
ndo)..(3)
*/
if (arreglo[j]> arreglo[j + 1]) {
/*
si se cumple la condicion, hacen el intercabio de valores
por medio de uan variable temporal...(4)
*/
temp = arreglo[j]; //ejemplo temp=arreglo[0] (10)
arreglo[j] = arreglo[j + 1] ;//arreglo[0]=arreglo[1]
arreglo[j + 1] = temp;//arreglo[1]=10
}//fin del condicion
}// fin del FOR B
} // fin del FOR A
//imprimimos el arreglo con los valores ya ordenados ...(5)
//este for muestra el arreglo
for (j =0; j <12; j++) {
//La primera ves que entra
//ejemplo arreglo[0]=10
System.out.println("arreglo["+j+"] = "+arreglo[j]);
}
}
}

Você também pode gostar