Buenas, adjunto debajo la solucion iterativa del filtrado ascendente en el parcial. Mi consulta es, la comparacion en el while no tendria que ser con el dato? Al hacerlo de esta forma el ingreso solo va a subir un nivel ya que en la segunda vuelta de la iteracion voy a estar comparando dos elementos que ya cumplian la propiedad de Heap.
Sí, tenés razón.
Debe ser dato en vez de h->elems[i]:
while ( (i > 1) && (h->elems[i/2] > dato) )
Debe ser dato en vez de h->elems[i]:
while ( (i > 1) && (h->elems[i/2] > dato) )