Kirjastossa on määritelty tyyppi PRIORITYTYPE, joka on alustavasti
liukulukutyyppiä float.
Aikavaativuuksista nyt (Tapani, Simo) sen verran, että prioriteettijono on nyt toteutettu järjestetyllä puulla, joten aikavaativuudet ovat pahimmillaan O(n). Kuitenkin, toteutin punamustan puun sillä tavalla, että se voidaan suht helposti ottaa käyttöön tässäkin tietorakenteessa, siis saadaan O(log n).
void PRIQUEUE_CREATE(PRIQUEUE P, DESCRIPTOR desc);void INT_PRIQUEUE_CREATE(PRIQUEUE P);void FLOAT_PRIQUEUE_CREATE(PRIQUEUE P);void CHARP_PRIQUEUE_CREATE(PRIQUEUE P);void VOIDPTR_PRIQUEUE_CREATE(PRIQUEUE P);void PRIQUEUE_INSERT(PRIQUEUE P, ELEMENT x, PRIORITYTYPE pri);void INT_PRIQUEUE_INSERT(PRIQUEUE P, INT_TYPE x, PRIORITYTYPE pri);void FLOAT_PRIQUEUE_INSERT(PRIQUEUE P, FLOAT_TYPE x, PRIORITYTYPE pri);void CHARP_PRIQUEUE_INSERT(PRIQUEUE P, char* x, PRIORITYTYPE pri);void VOIDPTR_PRIQUEUE_INSERT(PRIQUEUE P, void* x, PRIORITYTYPE pri);void PRIQUEUE_DELETEMIN(PRIQUEUE P);void INT_PRIQUEUE_DELETEMIN(PRIQUEUE P);void FLOAT_PRIQUEUE_DELETEMIN(PRIQUEUE P);void CHARP_PRIQUEUE_DELETEMIN(PRIQUEUE P);void VOIDPTR_PRIQUEUE_DELETEMIN(PRIQUEUE P);ELEMENT PRIQUEUE_MIN(PRIQUEUE P);INT_TYPE INT_PRIQUEUE_MIN(PRIQUEUE P);FLOAT_TYPE FLOAT_PRIQUEUE_MIN(PRIQUEUE P);char* CHARP_PRIQUEUE_MIN(PRIQUEUE P);void* VOIDPTR_PRIQUEUE_MIN(PRIQUEUE P);int PRIQUEUE_EMPTY(PRIQUEUE P);int INT_PRIQUEUE_EMPTY(PRIQUEUE P);int FLOAT_PRIQUEUE_EMPTY(PRIQUEUE P);int CHARP_PRIQUEUE_EMPTY(PRIQUEUE P);int VOIDPTR_PRIQUEUE_EMPTY(PRIQUEUE P);
void PRIQUEUE_FREE(PRIQUEUE P);
void INT_PRIQUEUE_FREE(PRIQUEUE P);
void FLOAT_PRIQUEUE_FREE(PRIQUEUE P);
void CHARP_PRIQUEUE_FREE(PRIQUEUE P);
void VOIDPTR_PRIQUEUE_FREE(PRIQUEUE P);
Aikavaativuus : O(n)
int PRIQUEUE_LESS(PRIQUEUE P, ELEMENT x, ELEMENT y);int PRIQUEUE_SAME(PRIQUEUE P, ELEMENT x, ELEMENT y);DESCRIPTOR PRIQUEUE_TYPE(PRIQUEUE P);