A la solución de esta parte:
T mínimo(Conjunto c) { // Pre: c no vacío
nodoHash *min = NULL;
nodoHash *l;
for (int i = 0; i < c->cota; i++) {
l = c->tabla[i];
while (l != NULL) {
if (min == NULL || l->dato < min->dato)
min = l;
}
}
return min->dato;
}
¿no le falta un l = l->sig
dentro del while
? De lo contrario sería un loop infinito.