jueves, 28 de octubre de 2010

MÉTODO DE BURBUJA EN JAVA

/* Metodo Burbuja
 * Crear un programa en java que ordene datos mediante el metodo de la burbuja.
 * Fuente:   .....------                     ErNeStO  rOsAlEs CaRlOs             ------.....

                                      *********************************************
                                      *  InGeNiErIa En SiStEmAs CoMpUtAcIoNaLeS   *
                                      *  InStItUtO tEcNoLoGiCo SuPeRiOr De JeReZ  *
                                      *  EsTrUcTuRa De DaToS                      *
                                      *  ErNeStO rOsAlEs CaRlOs                   *
                                      *  ernestorosales@live.com                  *
                                      *********************************************
*/

import java.io.*;

public class BurbujaOrdena
{
public static void main (String args[])throws IOException
{
int d,t;

BufferedReader erc=new BufferedReader(new InputStreamReader(System.in));
System.out.println("                  *****************************");
System.out.println("                  *                           *");
System.out.println("                  *     MeToDo De BuRbUjA     *");
System.out.println("                  *                           *");
System.out.println("                  *****************************");
System.out.println("\nIngresa el numero de datos a ingresar: ");
d=Integer.parseInt(erc.readLine());
int n[]=new int[d];
for(int i=0; i<d; i++)
{
System.out.println("Ingresa dato " +i+" :");
n[i]=Integer.parseInt(erc.readLine());
}
int tuopcion;
do
{
do
{
try
{
System.out.println("\n");
System.out.println("             **************************************");
System.out.println("             *    Elige la opcion deseada:        *");
System.out.println("             *                                    *");
System.out.println("             *     1.- Sin orden(original)        *");
System.out.println("             *     2.- Orden decendiente          *");
System.out.println("             *     3.- Orden ascendente           *");
System.out.println("             *                                    *");
System.out.println("             *     4.- Salir                      *");
System.out.println("             *                                    *");
System.out.println("             **************************************");

      
tuopcion=Integer.parseInt(erc.readLine());
    if (tuopcion< 1 || tuopcion> 4)
        System.out.println ("\nError **fuera del rango permitido**");
      }
      catch (NumberFormatException err)
      {
        tuopcion=0;
                 System.out.println("\n\n Error --no es numero--");
      }
      
      }while (tuopcion<1 || tuopcion>4);
      
      
switch(tuopcion)
{
case 1:
System.out.println("\nEl arreglo original es: ");
for(int i=0;i<n.length;i++)
{
System.out.print(" "+ n[i]);
}
break;
case 2:
for(int j=0;j<n.length;j++)
for(int k=1;k<n.length;k++)
if(n[k-1]<n[k])
{
t=n[k-1];
n[k-1]=n[k];
n[k]=t;
}

System.out.println("\n\nLos datos en orden decreciente son: ");
for(int i=0;i<n.length;i++)
System.out.print(" "+n[i]);
break;
case 3:
for(int j=0;j<n.length;j++)
for(int k=1;k<n.length;k++)
if(n[k-1]>n[k])
{
t=n[k-1];
n[k-1]=n[k];
n[k]=t;
}
System.out.println("\n\nLos datos en orden ascendente son: ");
for(int r=0;r<n.length;r++)
System.out.print(" "+n[r]);
break;

}
} while(tuopcion!=4);
}

}

No hay comentarios:

Publicar un comentario