Loading [MathJax]/extensions/TeX/AMSsymbols.js
Tutto Classi File Funzioni Variabili Ridefinizioni di tipo (typedef)
Composti | Ridefinizioni di tipo (typedef) | Funzioni
Riferimenti per il file minheap.h
#include "elemtype.h"
#include <stdbool.h>
#include <stdio.h>

Vai al codice sorgente di questo file.

Composti

struct  Heap
 Definizione del tipo struct Heap. Continua...
 

Ridefinizioni di tipo (typedef)

typedef struct Heap Heap
 Definizione di un nome alternativo per struct Heap.
 

Funzioni

int HeapLeft (int i)
 Dato l'indice di un nodo della coda di priorità, la funzione HeapLeft() ritorna l'indice del suo figlio sinistro. Continua...
 
int HeapRight (int i)
 Dato l'indice di un nodo della coda di priorità, la funzione HeapRight() ritorna l'indice del suo figlio destro. Continua...
 
int HeapParent (int i)
 Dato l'indice di un nodo della coda di priorità, la funzione HeapParent() ritorna l'indice del nodo padre. Continua...
 
HeapHeapCreateEmpty ()
 La funzione HeapCreateEmpty() crea e ritorna una coda di priorità vuota implementata mediante array. Continua...
 
void HeapMinInsertNode (Heap *h, const ElemType *e)
 La funzione HeapMinInsertNode() aggiunge un nodo a una coda di priorità esistente, garantendo che le proprietà (min-)heap siano rispettate. Continua...
 
bool HeapIsEmpty (const Heap *h)
 La funzione HeapIsEmpty() verifica se una coda di priorità esistente è vuota. Continua...
 
ElemType * HeapGetNodeValue (const Heap *h, int i)
 La funzione HeapGetNodeValue() ritorna un puntatore all'elemento contenuto nel nodo di indice specificato. Continua...
 
void HeapMinMoveUp (Heap *h, int i)
 Dato un heap e l'indice di un nodo, la funzione HeapMinMoveUp() sposta il nodo verso l'alto, ovvero lo scambia con il nodo padre ricorsivamente fino a quando le condizione (min-)heap non sono rispettate. Continua...
 
void HeapMinMoveDown (Heap *h, int i)
 Dato un heap e l'indice di un nodo, la funzione HeapMinMoveDown() sposta il nodo verso il basso, ovvero lo scambia con il minore dei figli ricorsivamente fino a quando le condizione (min-)heap non sono rispettate. Continua...
 
void HeapDelete (Heap *h)
 La funzione HeapDelete() libera la memoria occupata dall'heap. Continua...
 
void HeapWrite (const Heap *h, FILE *f)
 La funzione HeapWrite() stampa la coda di priorità su file. Nello specifico, la funzione stampa il carattere "[" seguito dagli elementi del vettore che implementa la coda di priorità, separati dai caratteri ", ". Infine viene stampato il carattere "]". La stampa degli elementi dipende dalla definizione di ElemType. Continua...
 
void HeapWriteStdout (const Heap *i)
 La funzione HeapWriteStdout() stampa lo heap specificato su stdout. Nello specifico, la funzione stampa il carattere "[" seguito dagli elementi del vettore che implementa la coda di priorità, separati dai caratteri ", ". Infine viene stampato il carattere "]". La stampa degli elementi dipende dalla definizione di ElemType. Continua...
 

Descrizione dettagliata

Questo file contiene la definizione del tipo Heap e la documentazione delle funzioni primitive (e non) relative alle code di priorità (heap). Si noti che il comportamento di queste funzioni è indipendente dalla definizione di ElemType.

Definizione nel file minheap.h.

Documentazione delle funzioni

◆ HeapCreateEmpty()

Heap* HeapCreateEmpty ( )

La funzione HeapCreateEmpty() crea e ritorna una coda di priorità vuota implementata mediante array.

Restituisce
Puntatore allo heap appena creato.

Definizione alla linea 27 del file minheap.c.

◆ HeapDelete()

void HeapDelete ( Heap h)

La funzione HeapDelete() libera la memoria occupata dall'heap.

Parametri
[in]hHeap di cui liberare la memoria.
Restituisce
Non ci sono valori di ritorno.

Definizione alla linea 85 del file minheap.c.

◆ HeapGetNodeValue()

ElemType* HeapGetNodeValue ( const Heap h,
int  i 
)

La funzione HeapGetNodeValue() ritorna un puntatore all'elemento contenuto nel nodo di indice specificato.

Parametri
[in]h(min-)heap.
[in]iIndice del nodo.
Restituisce
Puntatore all'elemento contenuto nel nodo di indice i.

Definizione alla linea 43 del file minheap.c.

◆ HeapIsEmpty()

bool HeapIsEmpty ( const Heap h)

La funzione HeapIsEmpty() verifica se una coda di priorità esistente è vuota.

Parametri
[in]hHeap da testare.
Restituisce
true se lo heap è vuoto, ovvero contiene zero elementi (h->size == 0), false altrimenti.

Definizione alla linea 23 del file minheap.c.

◆ HeapLeft()

int HeapLeft ( int  i)

Dato l'indice di un nodo della coda di priorità, la funzione HeapLeft() ritorna l'indice del suo figlio sinistro.

Parametri
[in]iIndice di un nodo della coda.
Restituisce
Indice del figlio sinistro del nodo i. Non e' detto che il nodo avente l'indice ritornato sia effettivamente presente nella coda.

Definizione alla linea 11 del file minheap.c.

◆ HeapMinInsertNode()

void HeapMinInsertNode ( Heap h,
const ElemType *  e 
)

La funzione HeapMinInsertNode() aggiunge un nodo a una coda di priorità esistente, garantendo che le proprietà (min-)heap siano rispettate.

Parametri
[in]h(min-)heap.
[in]eValore da utilizzare per la creazione del nuovo nodo.
Restituisce
Non ci sono valori di ritorno.

Definizione alla linea 34 del file minheap.c.

◆ HeapMinMoveDown()

void HeapMinMoveDown ( Heap h,
int  i 
)

Dato un heap e l'indice di un nodo, la funzione HeapMinMoveDown() sposta il nodo verso il basso, ovvero lo scambia con il minore dei figli ricorsivamente fino a quando le condizione (min-)heap non sono rispettate.

Parametri
[i]h (min-)heap. Tutti i nodi di h, ad eccezione di quello di indice i, devono rispettare le condizioni (min-)heap.
[i]i Indice del nodo su cui applicare la procedura.
Restituisce
Non ci sono valori di ritorno.

Definizione alla linea 60 del file minheap.c.

◆ HeapMinMoveUp()

void HeapMinMoveUp ( Heap h,
int  i 
)

Dato un heap e l'indice di un nodo, la funzione HeapMinMoveUp() sposta il nodo verso l'alto, ovvero lo scambia con il nodo padre ricorsivamente fino a quando le condizione (min-)heap non sono rispettate.

Parametri
[i]h (min-)heap. Tutti i nodi di h, ad eccezione di quello di indice i, devono rispettare le condizioni (min-)heap.
[i]i Indice del nodo su cui applicare la procedura.
Restituisce
Non ci sono valori di ritorno.

Definizione alla linea 53 del file minheap.c.

◆ HeapParent()

int HeapParent ( int  i)

Dato l'indice di un nodo della coda di priorità, la funzione HeapParent() ritorna l'indice del nodo padre.

Parametri
[in]iIndice di un nodo della coda.
Restituisce
Indice del padre del nodo i. Non è detto che il nodo avente l'indice ritornato sia effettivamente presente nella coda.

Definizione alla linea 19 del file minheap.c.

◆ HeapRight()

int HeapRight ( int  i)

Dato l'indice di un nodo della coda di priorità, la funzione HeapRight() ritorna l'indice del suo figlio destro.

Parametri
[in]iIndice di un nodo della coda.
Restituisce
Indice del figlio destro del nodo i. Non è detto che il nodo avente l'indice ritornato sia effettivamente presente nella coda.

Definizione alla linea 15 del file minheap.c.

◆ HeapWrite()

void HeapWrite ( const Heap h,
FILE *  f 
)

La funzione HeapWrite() stampa la coda di priorità su file. Nello specifico, la funzione stampa il carattere "[" seguito dagli elementi del vettore che implementa la coda di priorità, separati dai caratteri ", ". Infine viene stampato il carattere "]". La stampa degli elementi dipende dalla definizione di ElemType.

Parametri
[in]hHeap da stampare su file. Lo heap non viene modificato.
[in]fFILE * su cui stampare lo heap.
Restituisce
Non ci sono valori di ritorno.

Definizione alla linea 97 del file minheap.c.

◆ HeapWriteStdout()

void HeapWriteStdout ( const Heap i)

La funzione HeapWriteStdout() stampa lo heap specificato su stdout. Nello specifico, la funzione stampa il carattere "[" seguito dagli elementi del vettore che implementa la coda di priorità, separati dai caratteri ", ". Infine viene stampato il carattere "]". La stampa degli elementi dipende dalla definizione di ElemType.

Parametri
[in]hHeap da stampare su stdout. Lo heap non viene modificato.
Restituisce
Non ci sono valori di ritorno.

Definizione alla linea 108 del file minheap.c.