Ejercicio D terminado

This commit is contained in:
2024-10-25 12:46:24 +02:00
parent c448e5025e
commit e3b900393c

View File

@@ -0,0 +1,39 @@
package examenes.examen20241025;
import static examenes.examen20241025.utils.Utils.*;
public class Ejercicio_d {
public static void main(String[] args) {
//Generamos el array y pedimos los límites
int[] arrayAleatorio = crearArrayNumsAleatorios(100, 0, 100);
System.out.println("Elija entre que posiciones quiere ordenar un array de 100 elementos");
int limiteMin = solicitarIntScanner("Introduzca el límite mínimo: "),
limiteMax = solicitarIntScanner("Introduzca el límite máximo");
//Mostramos el array sin ordenar
System.out.println("Sin ordenar:");
mostrarArrayNums(arrayAleatorio);
//Lo mostramos ordenado
System.out.println("\nOrdenado Parcial:");
mostrarArrayNums(ordenarArrayParcial(arrayAleatorio, limiteMin, limiteMax));
}
public static int[] ordenarArrayParcial(int[] array, int min, int max) {
boolean ordenando;
//Ordenamos con burbuja
do {
ordenando = false;
//Indicamos donde empezar y hasta donde llegar, pero evitando que nos pasemos
for (int i = min; i < (max <= array.length ? max : array.length); i++) {
if (i != (array.length - 1) && array[i] > array[i + 1]) {
int tempNum = array[i];
array[i] = array[i + 1];
array[i + 1] = tempNum;
ordenando = true;
}
}
} while (ordenando);
return array;
}
}