Modificar la implementación de árbol rojo-negro de la clase RedBlackTree del fichero RedBlackTree.java. Para poder compilar dicha clase, se necesitan també los ficheros: SearchTree.java, Rotations.java, BinaryNode.java, ItemNotFound.java y DuplicateItem.java. La modificación debe acumular la siguiente información:
La nueva implementación constiuirá la clase ArbolRojoNegro y para probarla se proporciona la clase prurb en el fichero prurb.java. Esta clase lee un fichero con los datos necesarios para rellenar el arbol y mostrarlo junto con la informaci&oactue;n adicional solicitada.
Los nodos del árbol serán objetos de la clase usodisco. Dicha clase, que también tenéis que implementar, debe permitir almacenar el nombre de un usuario, su uso de disco en KB. y el número de ficheros de los que es propietario.
La clase usodisco debe extender la clase Comparable, por lo que tendrá un declaracion del estilo:
public class usodisco implements Comparable<usodisco>
{
public usodisco(/* Argumentos con los que inicializar el objeto */)
{
...
}
public String toString()
{
String cad;
cad = usuario=" ... // La cadena que querais
return(cad);
}
public String get_usuario()
{
return(/* Variable con el nombre del usuario */);
}
public int compareTo(usodisco ud2)
{
// Comparaciones sobre la variable
if ( /* nombre de usuario de this < nombre de usuario de ud2 */ )
return(-1);
if ( /* son iguales*/ )
return(0);
return(1);
}
// Variables privadas con la informacion
...
}
También se proporciona este ejemplo de fichero de datos para cargar y probar el árbol.
NOTA: Esta práctica dura una sesión y deben entregarse a través de web los ficheros ArbolRojoNegro.java y usodisco.java antes del comienzo de la siguiente práctica.