- // este sort es in-place y O(N.log(N))
- // Más info en: http://www.sgi.com/tech/stl/sort.html
- // Pero el PersonaCmp() es O(N)
- std::sort(ofertas.begin(), ofertas.end(), PersonaCmp(*this));
+ heap_push(ofertas, p, PersonaCmp(*this));
+}
+
+/// Obtiene mejor oferta (sin eliminar)
+Persona*
+Persona::
+top_oferta() const // O(1)
+{
+ return ofertas.back();
+}
+
+/// Obtiene y elimina mejor oferta
+Persona*
+Persona::
+pop_oferta() // O(log(N))
+{
+ return heap_pop(ofertas, PersonaCmp(*this));