martes, 5 de marzo de 2013

Ordenación de vectores por el método de la burbuja.

En esta entrada expondremos un ejemplo de ordenación de vectores mediante el método de la burbuja. En programa consta de una petición inicial del número de salarios (números de elementos a comparar) y posteriormente los valores de esos salarios (en este caso). La ordenación se realizará de mayor a menor.

Código:


import java.util.Scanner;

public class Vector_2 {

/**
* @author Garcy16
* @param args
*/
public static void main(String[] args) {

// Variable para guardar el numero de sueldos a ordenar
int cantSalarios;

Scanner sc = new Scanner(System.in);

// Pedimos el numero de sueldos
System.out.println("Introduce el numero de salarios a ordenar: ");
cantSalarios = sc.nextInt();

// Declaramos el array de sueldos con la cantidad de sueldos que hemos pedido
int [] salario = new int[cantSalarios];

// Hacemos un for para pedir los sueldos
for(int c = 0; c < cantSalarios; c++)
{
System.out.println("Ves introduciendo los salarios, por favor: ");
salario[c] = sc.nextInt();
}

int aux;

// Para ordenar los vectores usamos el método de la burbuja
for (int k=1; k<cantSalarios; k++)
{
for (int f=0; f<cantSalarios-k; f++)
{
//Comprobamos si el primer salario es mayor que el segundo
if (salario[f] > salario[f+1])
{
// Si es mayor, es deci, valor true: No hace nada por que ya esta ordenado
}
// Pero si es menor es falso por lo tanto tenemos que ordenarlo.
//Guardamos el primer vector en AUX. Guardamos el segundo en la  posicion del primero.
// Y el segundo vector [j+1] lo guardamos en aux
else
{
aux = salario[f];
salario[f] = salario[f+1];
salario[f+1] = aux;
}
}
}

// imprimimos por pantalla la cantidad de sueldos.  Ordenados de Mayor a Menor
System.out.println("Salarios, de mayor a menor:  ");

for (int i=0; i<cantSalarios; i++)
System.out.println(" "+ salario[i]);
}
}

Espero que les sea de utilidad, ya que es un método de ordenación bastante útil.

No hay comentarios:

Publicar un comentario