Fixed bug in removing a highlighted element.
Added comments.
This commit is contained in:
parent
4ac689ec15
commit
71bf0201e6
@ -29,22 +29,27 @@ public class Grafico {
|
||||
* Duración de la animación.
|
||||
*/
|
||||
static final public int DURACION = 150;
|
||||
|
||||
/**
|
||||
* Tipo de dibujo rectuangular.
|
||||
*/
|
||||
static final public int RECTANGULO = 0;
|
||||
|
||||
/**
|
||||
* Tipo de dibujo circular.
|
||||
*/
|
||||
static final public int CIRCULO = 1;
|
||||
|
||||
/**
|
||||
* Tipo de dibjuo texto
|
||||
*/
|
||||
static final public int TEXTO = 2;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
*/
|
||||
final private Scene scene;
|
||||
|
||||
/**
|
||||
* Los elementos destacados.
|
||||
*/
|
||||
@ -117,6 +122,7 @@ public class Grafico {
|
||||
* Crear la linea circular con flecha.
|
||||
*
|
||||
* @param cajas int: La cantidad de cajas que están.
|
||||
*
|
||||
* @return StackPane: Devolver el stackpane que contiene la linea horizontal.
|
||||
*/
|
||||
public static Pane crearLineaCircular(int cajas) {
|
||||
@ -158,6 +164,7 @@ public class Grafico {
|
||||
*
|
||||
* @param colores Colores: Los colores para dar color al rectangulo.
|
||||
* @param label String: El texto por el ID de fxml.
|
||||
*
|
||||
* @return StackPane: Devolver el stackpane que contiene el rectangulo y texto.
|
||||
*/
|
||||
public static StackPane crearCaja(Colores colores, String label) {
|
||||
@ -182,6 +189,7 @@ public class Grafico {
|
||||
* @param colores Colores: Los colores para dar color al rectangulo.
|
||||
* @param label String: El texto por el ID de fxml.
|
||||
* @param texto String: El texto a colocar dentro el rectangulo.
|
||||
*
|
||||
* @return StackPane: Devolver el stackpane que contiene el rectangulo y texto.
|
||||
*/
|
||||
public static StackPane crearCaja(Colores colores, String label, String texto) {
|
||||
@ -206,6 +214,7 @@ public class Grafico {
|
||||
*
|
||||
* @param colores Colores: Los colores para dar color a los rectangulos.
|
||||
* @param label String: El texto por el ID de fxml.
|
||||
*
|
||||
* @return StackPane: Devolver el stackpane que contiene los rectangulos y textos.
|
||||
*/
|
||||
public static StackPane crearHashCajas(Colores colores, String label) {
|
||||
@ -356,23 +365,24 @@ public class Grafico {
|
||||
*/
|
||||
public void removerDestacar() {
|
||||
if (destacados.size() != 0) {
|
||||
for (int i = 0; i < destacados.size(); i++) {
|
||||
destacados.get(i).getSequentialTransition().stop();
|
||||
int size = destacados.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
destacados.get(0).getSequentialTransition().stop();
|
||||
|
||||
if (destacados.get(i).getTipo() == RECTANGULO) {
|
||||
Rectangle rectangle = (Rectangle) scene.lookup(destacados.get(i).getId());
|
||||
rectangle.setFill(destacados.get(i).getColor());
|
||||
if (destacados.get(0).getTipo() == RECTANGULO) {
|
||||
Rectangle rectangle = (Rectangle) scene.lookup(destacados.get(0).getId());
|
||||
rectangle.setFill(destacados.get(0).getColor());
|
||||
}
|
||||
else if (destacados.get(i).getTipo() == CIRCULO) {
|
||||
Circle circle = (Circle) scene.lookup(destacados.get(i).getId());
|
||||
circle.setFill(destacados.get(i).getColor());
|
||||
else if (destacados.get(0).getTipo() == CIRCULO) {
|
||||
Circle circle = (Circle) scene.lookup(destacados.get(0).getId());
|
||||
circle.setFill(destacados.get(0).getColor());
|
||||
}
|
||||
else {
|
||||
Text text = (Text) scene.lookup(destacados.get(i).getId());
|
||||
text.setStroke(destacados.get(i).getColor());
|
||||
Text text = (Text) scene.lookup(destacados.get(0).getId());
|
||||
text.setStroke(destacados.get(0).getColor());
|
||||
}
|
||||
|
||||
destacados.remove(i);
|
||||
destacados.remove(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -435,6 +445,7 @@ public class Grafico {
|
||||
|
||||
/**
|
||||
* Devolver el color anterior antes que fue destacado.
|
||||
*
|
||||
* @return Color: El color anterior.
|
||||
*/
|
||||
public Color getColor() {
|
||||
|
@ -1,29 +1,67 @@
|
||||
package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* La estructura de un elemento de una Tabla Hash.
|
||||
*/
|
||||
public class HashItem {
|
||||
/**
|
||||
* La llave.
|
||||
*/
|
||||
final private String llave;
|
||||
|
||||
/**
|
||||
* El valor.
|
||||
*/
|
||||
final private int valor;
|
||||
|
||||
/**
|
||||
* Donde el elemento está en el array.
|
||||
*/
|
||||
private int indice;
|
||||
|
||||
/**
|
||||
* Inicilizar.
|
||||
*
|
||||
* @param llave String: La llave del elemento.
|
||||
* @param valor int: El valor del elemento.
|
||||
*/
|
||||
public HashItem(String llave, int valor) {
|
||||
this.llave = llave;
|
||||
this.valor = valor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver la llave del elemento.
|
||||
*
|
||||
* @return String: La llave.
|
||||
*/
|
||||
public String getLlave() {
|
||||
return llave;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver el valor del elemento.
|
||||
*
|
||||
* @return int: El valor.
|
||||
*/
|
||||
public int getValor() {
|
||||
return valor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver el indice del elemento.
|
||||
*
|
||||
* @return int: El indice.
|
||||
*/
|
||||
public int getIndice() {
|
||||
return indice;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cambiar el indice.
|
||||
*
|
||||
* @param indice int: El indice.
|
||||
*/
|
||||
public void setIndice(int indice) {
|
||||
this.indice = indice;
|
||||
}
|
||||
|
@ -1,23 +1,50 @@
|
||||
package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Esta clase es tipo de estructura de dato Tabla Hash.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class HashTable {
|
||||
/**
|
||||
* El array donde están todos los elementos de la tabla hash.
|
||||
*/
|
||||
final private HashItem hashArray[];
|
||||
|
||||
/**
|
||||
* El tamaño maximo de la tabla hash.
|
||||
*/
|
||||
final private int tamano;
|
||||
|
||||
/**
|
||||
* Cantidad de elementos que están en la tabla hash.
|
||||
*/
|
||||
private int size;
|
||||
|
||||
/**
|
||||
* Inicilizar.
|
||||
*
|
||||
* @param tamano int: El tamaño maximo de la tabla hash.
|
||||
*/
|
||||
public HashTable(int tamano) {
|
||||
this.tamano = tamano;
|
||||
hashArray = new HashItem[tamano];
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver la cantidad de elementos que están en la tabla.
|
||||
*
|
||||
* @return int: La cantidad.
|
||||
*/
|
||||
public int size() {
|
||||
return size;
|
||||
}
|
||||
|
||||
/**
|
||||
* Este metodo crea un hash muy único.
|
||||
*
|
||||
* @param string String: El string a hashear.
|
||||
*
|
||||
* @return int: El hash a devolver.
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
@ -43,6 +70,14 @@ public class HashTable {
|
||||
return (Math.abs(sum) % tamano);
|
||||
}
|
||||
|
||||
/**
|
||||
* Insertar una llave y valor en la tabla hash.
|
||||
*
|
||||
* @param llave String: La llave para identificar un elemento.
|
||||
* @param valor int: El valor a insertar.
|
||||
*
|
||||
* @return boolean: Verdad si fue insertado, sino está llena la tabla hash.
|
||||
*/
|
||||
public boolean insertar(String llave, int valor) {
|
||||
HashItem hashItem = new HashItem(llave, valor);
|
||||
int hashIndice = hash(hashItem.getLlave());
|
||||
@ -84,6 +119,13 @@ public class HashTable {
|
||||
return hash % tamano;
|
||||
}
|
||||
|
||||
/**
|
||||
* Eliminar un elemento de la tabla hash.
|
||||
*
|
||||
* @param llave String: La llave a elminar.
|
||||
*
|
||||
* @return boolean: Verdad si fue borrado, sino no existiá.
|
||||
*/
|
||||
public boolean eliminar(String llave) {
|
||||
HashItem hashItem = new HashItem(llave, 0);
|
||||
int hashIndice = hash(hashItem.getLlave());
|
||||
@ -91,6 +133,7 @@ public class HashTable {
|
||||
while (hashArray[hashIndice] != null && hashArray[hashIndice].getLlave() != null && i < tamano) {
|
||||
if (hashArray[hashIndice].getLlave().equals(llave)) {
|
||||
hashArray[hashIndice] = null;
|
||||
size--;
|
||||
return true;
|
||||
}
|
||||
hashIndice++;
|
||||
@ -100,6 +143,13 @@ public class HashTable {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Buscar una llave en la tabla hash.
|
||||
*
|
||||
* @param llave String: La llave a buscar.
|
||||
*
|
||||
* @return HashItem: Devolver el elemento que contine la llave.
|
||||
*/
|
||||
public HashItem buscar(String llave) {
|
||||
for (int i = 0; i < tamano; i++) {
|
||||
if (hashArray[i] != null && hashArray[i].getLlave().equals(llave)) {
|
||||
@ -113,6 +163,7 @@ public class HashTable {
|
||||
* Devolver el valor que está guardado en cada indice. Se usa para construir la grafica.
|
||||
*
|
||||
* @param indice int: El indice que desea ver.
|
||||
*
|
||||
* @return String: El valor que está en dicho indice.
|
||||
*/
|
||||
public HashItem getIndice(int indice) {
|
||||
|
Loading…
Reference in New Issue
Block a user