Skip to content

Commit 38637e1

Browse files
author
Carlos Galindo
committed
EDA: correcciones
1 parent 2d0d928 commit 38637e1

File tree

2 files changed

+30
-8
lines changed

2 files changed

+30
-8
lines changed

EDA/Theory/MonticuloBinario.java

+27-4
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,45 @@
1-
import estructurasDeDatos.modelos.ColaPrioridad;
1+
import librerias.estructurasDeDatos.modelos.ColaPrioridad;
22

33
public class MonticuloBinario<E extends Comparable<E>> implements ColaPrioridad<E> {
4-
protected static final int CAPACIDAD_INICIAL = 50;
4+
private static final int CAPACIDAD_INICIAL = 50;
55
protected E[] elArray;
66
protected int talla;
77

8-
@SupressWarnings("unchecked")
8+
@SuppressWarnings("unchecked")
99
public MonticuloBinario() {
1010
elArray = (E[]) new Comparable[CAPACIDAD_INICIAL];
1111
}
1212

13+
@Override
1314
public void insertar(E e) {
14-
if (talla >= elArray.length) resize();
15+
if (talla + 1 >= elArray.length) duplicateSize();
1516
elArray[++talla] = e;
1617
for (int i = talla; elArray[i/2].compareTo(elArray[i]) <= 0 && i > 1; i /= 2) {
1718
elArray[i] = elArray[i/2];
1819
elArray[i/2] = e;
1920
}
2021
}
2122

23+
@SuppressWarnings("unchecked")
24+
private void duplicateSize() {
25+
E[] aux = (E[]) new Comparable[elArray.length * 2];
26+
System.arraycopy(elArray, 1, aux, 1, talla);
27+
elArray = aux;
28+
}
29+
30+
@Override
31+
public E eliminarMin() {
32+
return null;
33+
}
34+
35+
@Override
36+
public E recuperarMin() {
37+
return elArray[1];
38+
}
39+
40+
@Override
41+
public boolean esVacia() {
42+
return talla == 0;
43+
}
44+
2245
}

EDA/Theory/estructurasDeDatos/MonticuloBinario.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,15 @@ public class MonticuloBinario<E extends Comparable<E>> {
66
private E[] elArray;
77
private int talla;
88

9-
@SupressWarnings("unchecked")
9+
@SuppressWarnings("unchecked")
1010
public MonticuloBinario() {
1111
elArray = (E[]) new Comparable[INIT_CAPACITY];
1212
talla = 0;
1313
}
1414

1515
public void insertar(E e) {
16-
if (talla <= elArray.length) resize();
17-
elArray[++talla];
18-
int index = talla;
16+
if (talla + 1 >= elArray.length) resize();
17+
elArray[++talla] = e;
1918
for (int i = talla; i > 1 && elArray[i / 2].compareTo(e) > 0; i /= 2) {
2019
elArray[i] = elArray[i / 2];
2120
elArray[i / 2] = e;

0 commit comments

Comments
 (0)