Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef minqueue_h
- #define minqueue_h
- #endif
- #include <stdbool.h>
- /* Definizioni per muoversi nell'albero */
- #define parent(i) ((i+1)/2 - 1) /* Zero based! Tolgo 1 a tutti */
- #define left(i) (2*(i+1) - 1)
- #define right(i) (2*(i+1))
- // Tipo dei dati memorizzati nella min-coda
- struct _queueelem {
- int key;
- int parent;
- int nodo;
- };
- typedef struct _queueelem type;
- /* Operazioni sulla coda */
- // Costruisce uno heap di minimo vuoto
- void heap_init();
- // Libera la memoria occupata dallo heap
- void heap_destroy();
- // Restituisce ed elimina il minimo
- type extract_min();
- // Restituisce il minimo
- type min();
- // Inserisce un nuovo elemento nello heap
- bool enqueue(type);
- // Restituisce la dimensione corrente dello heap
- int heapsize();
- // Restituisce true se la coda è vuota
- bool empty_queue();
- // Cambia la priorità di un elemento già presente
- void change_priority(type, int);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement