]> git.llucax.com Git - z.facultad/75.29/susanita.git/blobdiff - src/persona.h
tagged entrega1
[z.facultad/75.29/susanita.git] / src / persona.h
index 907701452e3dacde8a898135730199a4489be1c4..6f44c887c5126eacd6b15b76e8a593c23c88752f 100644 (file)
@@ -27,9 +27,15 @@ struct Persona
        /// Nombre de la persona, sólo con fines de representación
        std::string nombre;
 
        /// Nombre de la persona, sólo con fines de representación
        std::string nombre;
 
-       /// Lista de personas que prefiere, la primera de la lista es la
-       /// que mejor posicionada esta
+       /// Para la lista de personas que prefiere usamos dos estructuras: la
+       /// primera es una lista en donde el primer elemento es la persona
+       /// mejor posicionada; la segunda es un hash indexado por el nombre de
+       /// la persona, y como valor la posicion numerica.
+       /// Esta dualidad nos permite tener iteracion en orden, O(1) en
+       /// encontrar el mejor, y O(1) en ver quien es el preferido entre dos
+       /// personas.
        prefs_type prefs;
        prefs_type prefs;
+       HashTable<int> prefs_hash;
 
        /// Estado de la persona
        estado_type estado;
 
        /// Estado de la persona
        estado_type estado;