/* 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