#ifndef PQ_H_ #define PQ_H_ #include "lib.h" #include // Nodo que aguanta cada proceso. struct Node { Proc proc; struct Node* next; }; // Para crear un struct recursivo no se puede hacer un typedef. Aqui esta el // typedef. typedef struct Node Node; // Funcion helper para insertar un proceso en la lista y respetar el orden de // tiempo de procesos. Node* n_insert(Proc proc, Node* node); // La estructura para priority queue. typedef struct { Node* head; } PQ; // Inicializar el prio queue. PQ pq_init(); // La funcion para borrar el prio queue. void pq_deinit(PQ* pq); // La funcion para insertar en el prio queue. void pq_insert(PQ* pq, Proc proc); // la funcion para borrar el primer elemento del prio queue. void pq_delete(PQ* pq); // La funcion para accesar el tope del prio queue. Proc pq_access(PQ pq); // La funcion para imprimir el prio queue. void pq_print(PQ pq); // La funcion para verificar si el prio queue esta vacio. bool pq_empty(PQ pq); #endif // PQ_H_