From efa8fb3abc70801529974bd3dde8e19cb014a75f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=20Mu=C3=B1oz?= Date: Thu, 21 Nov 2024 14:42:16 +0100 Subject: [PATCH] feat(ch 4): block 11 --- .../Ejercicio01_OrdenarArrayDeStrings.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/tutorialJava/capitulo4_Arrays/ejercicios/bloque11/Ejercicio01_OrdenarArrayDeStrings.java diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque11/Ejercicio01_OrdenarArrayDeStrings.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque11/Ejercicio01_OrdenarArrayDeStrings.java new file mode 100644 index 0000000..28f496e --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque11/Ejercicio01_OrdenarArrayDeStrings.java @@ -0,0 +1,52 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque11; + +public class Ejercicio01_OrdenarArrayDeStrings { + + public static void main(String[] args) { + String palabras[] = new String[] {"aves", "mamiferos", + "reptiles", "insectos", "anfibios"}; + + ordenaBurbuja(palabras); + + for (int i = 0; i < palabras.length; i++) { + System.out.println(palabras[i]); + } + + } + + + public static void ordenaBurbuja (String a[]) { + boolean hayIntercambios; + do { + hayIntercambios = false; + for (int i = 0; i < (a.length - 1); i++) { + if (comparaCadenas(a[i], a[i+1]) == 1) { + String aux = a[i]; + a[i] = a[i + 1]; + a[i + 1] = aux; + hayIntercambios = true; + } + } + } while (hayIntercambios == true); + } + + + + + + + + public static int comparaCadenas(String s1, String s2) { + + int menorLongitud = (s1.length() < s2.length())? s1.length() : s2.length(); + + for (int i = 0; i < menorLongitud; i++) { + if (s1.charAt(i) < s2.charAt(i)) return -1; + else if (s1.charAt(i) > s2.charAt(i)) return 1; + } + + if (s1.length() == s2.length()) return 0; + return (s1.length() < s2.length())? -1 : 1; + } + +}