/// 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;
+ HashTable<int> prefs_hash;
/// Estado de la persona
estado_type estado;