Ejercicios del 1 al 4 del cap 4 bloque 3
This commit is contained in:
28
src/capitulo04/bloque03/Ejercicio01.java
Normal file
28
src/capitulo04/bloque03/Ejercicio01.java
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
package capitulo04.bloque03;
|
||||||
|
|
||||||
|
import static capitulo04.utils.Utils.crearArrayNumsAleatorios;
|
||||||
|
import static capitulo04.utils.Utils.mostrarArrayNums;
|
||||||
|
|
||||||
|
public class Ejercicio01 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int[] nums150 = crearArrayNumsAleatorios(150, 0, 1000);
|
||||||
|
mostrarArrayNums(nums150);
|
||||||
|
System.out.println();
|
||||||
|
mostrarArrayNums(ordenarBurbuja(nums150));
|
||||||
|
}
|
||||||
|
public static int[] ordenarBurbuja(int[] array) {
|
||||||
|
boolean ordenando;
|
||||||
|
do {
|
||||||
|
ordenando = false;
|
||||||
|
for (int i = 0; i < 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
27
src/capitulo04/bloque03/Ejercicio02.java
Normal file
27
src/capitulo04/bloque03/Ejercicio02.java
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
package capitulo04.bloque03;
|
||||||
|
|
||||||
|
import static capitulo04.utils.Utils.crearArrayNumsAleatorios;
|
||||||
|
import static capitulo04.utils.Utils.mostrarArrayNums;
|
||||||
|
|
||||||
|
public class Ejercicio02 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int[] nums150 = crearArrayNumsAleatorios(150, 0, 1000);
|
||||||
|
mostrarArrayNums(nums150);
|
||||||
|
System.out.println();
|
||||||
|
mostrarArrayNums(ordenarInsersionDirecta(nums150));
|
||||||
|
}
|
||||||
|
public static int[] ordenarInsersionDirecta(int[] array) {
|
||||||
|
for (int i = 1; i < array.length; i++) {
|
||||||
|
int tempVar = i;
|
||||||
|
for (int j = tempVar - 1; j < tempVar && j >= 0; j--) {
|
||||||
|
if (array[tempVar] < array[j]) {
|
||||||
|
int tempNum = array[tempVar];
|
||||||
|
array[tempVar] = array[j];
|
||||||
|
array[j] = tempNum;
|
||||||
|
}
|
||||||
|
tempVar--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
}
|
||||||
35
src/capitulo04/bloque03/Ejercicio03.java
Normal file
35
src/capitulo04/bloque03/Ejercicio03.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package capitulo04.bloque03;
|
||||||
|
|
||||||
|
import static capitulo04.utils.Utils.crearArrayNumsAleatorios;
|
||||||
|
import static capitulo04.utils.Utils.mostrarArrayNums;
|
||||||
|
|
||||||
|
public class Ejercicio03 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int[] nums150 = crearArrayNumsAleatorios(150, 0, 1000);
|
||||||
|
mostrarArrayNums(nums150);
|
||||||
|
System.out.println();
|
||||||
|
mostrarArrayNums(ordenarShell(nums150));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int[] ordenarShell(int[] array) {
|
||||||
|
int[] saltos = new int[] {1750, 701, 301, 132, 57, 23, 10, 4, 1};
|
||||||
|
|
||||||
|
for (int salto : saltos) {
|
||||||
|
for (int inicio = 0; inicio < salto; inicio++) {
|
||||||
|
for (int i = inicio + salto; i < array.length; i += salto) {
|
||||||
|
int valorActual = array[i];
|
||||||
|
int j = i;
|
||||||
|
|
||||||
|
while (j >= salto && array[j - salto] > valorActual) {
|
||||||
|
array[j] = array[j - salto];
|
||||||
|
j -= salto;
|
||||||
|
}
|
||||||
|
|
||||||
|
array[j] = valorActual;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
}
|
||||||
32
src/capitulo04/bloque03/Ejercicio04.java
Normal file
32
src/capitulo04/bloque03/Ejercicio04.java
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
package capitulo04.bloque03;
|
||||||
|
|
||||||
|
import static capitulo04.utils.Utils.crearArrayNumsAleatorios;
|
||||||
|
import static capitulo04.utils.Utils.mostrarArrayNums;
|
||||||
|
|
||||||
|
public class Ejercicio04 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int[] nums150 = crearArrayNumsAleatorios(150, 0, 1000);
|
||||||
|
mostrarArrayNums(nums150);
|
||||||
|
System.out.println();
|
||||||
|
mostrarArrayNums(ordenarSeleccion(nums150));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int[] ordenarSeleccion(int[] array) {
|
||||||
|
for (int i = 0; i < array.length - 1; i++) {
|
||||||
|
int indiceMenor = i;
|
||||||
|
|
||||||
|
for (int j = i + 1; j < array.length; j++) {
|
||||||
|
if (array[j] < array[indiceMenor]) {
|
||||||
|
indiceMenor = j;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (indiceMenor != i) {
|
||||||
|
int temp = array[i];
|
||||||
|
array[i] = array[indiceMenor];
|
||||||
|
array[indiceMenor] = temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user