Ordenar alfabéticamente vectores con Java


Para el ordenamiento de vectores existen varios algoritmos los cuales podemos usar, entre ellos el "Bubble Sort" o  Ordenamiento de burbuja del cual hablaremos en ésta entrada. 

wiki:
La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar.
Nos encontramos con el siguiente enunciado: 

"Desarrolle un programa el cual cargue 5 marcas de automóviles y mediante el algoritmo de Ordenamiento de burbuja ordene e imprima de manera alfabética cada una de las marcas de automóviles."

Autos.java
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.util.Scanner;

    public class Autos {
    private Scanner teclado;
    private String[] autos;

    public void leerDatos() {
         teclado=new Scanner(System.in);
         autos=new String[5];
         for(int i=0;i<autos.length;i++) {
             System.out.println("Ingrese la marca del auto:");
             autos[i]=teclado.next();
         }
     }

     public void ordenar() {
         for(int j=0;j<4;j++) {
             for(int i=0;i<4-j;i++) {
                 if (autos[i].compareTo(autos[i+1])>0) {
                     String aux;
                     aux=autos[i];
                     autos[i]=autos[i+1];
                     autos[i+1]=aux;
                 }
             }
         }
     }
  
     public void imprimirInfo() {
      System.out.println("AUTOS:");
      System.out.println("Modelo A - Z");
         for(int i=0;i<autos.length;i++) {
             System.out.println(autos[i]);
         }
     }

     public static void main(String[] ar) {
         Autos aut=new Autos();
         aut.leerDatos();
         aut.ordenar();
         aut.imprimirInfo();
     }
 }

Explicación:
Declaramos el vector autos "private String[] autos;" en el cual almacenaremos cada una de las marcas. 
Le damos tamaño a ese vector "autos=new String[5];".
Luego cargamos las 5 marcas de autos dado que ese es el tamaño de nuestro vector. Nótese que el ciclo for se repetirá tantas veces como el tamaño del vector  for(int i=0;i<autos.length;i++) para ello usaremos la función ".length " la cual retorna el tamaño de nuestro vector. 
A su vez, después de cargar los datos (marcas de autos) se ejecutará el algoritmo de la burbuja ordenando alfabéticamente los datos ingresados, la comparación no la podemos realizar con operadores relacionales (>,<,>=,<=) Por ello utilizamos la función ".compareTo".

Finalmente se realiza la salida la cual sería:



¡Ayúdanos a seguir creciendo, comparte en tus Redes Sociales!

Siguiente
« Prev Post
Anterior
Next Post »

3 comentarios

Click here for comentarios
20 de marzo de 2016, 18:07 ×

Hol Muchas Gracias ,a me sirvio el E dcodigo ye:v

Reply
avatar
Rin Asakura
admin
29 de junio de 2016, 11:01 ×

Excelente aporte hermano, muy buen uso del codigo, me sirvió muchisimo. Gracias ;)

Reply
avatar
5 de febrero de 2017, 23:48 ×

Muchísimas gracias por tu aporte, estoy seguro que ha ayudado a muchos

Reply
avatar