Heap (gb.data)

Questa classe implementa una struttura dinamica di dati heap. Può essere un MinHeap o un MaxHeap, a seconda della modalità specificata per la costruzione.

Essere "dinamica" significa che questa classe consente di aggiornare i dati o la posizione degli elementi che sono già nell'heap.

Questa classe è creabile.

Proprietà
Count   Restituisce il numero di elementi nell'heap.
First   Restituisce o imposta il primo elemento dell'heap.
IsEmpty   Restituisce se l'heap è vuoto.

Metodi
Insert   Inserisce un elemento nell'heap.
Remove   Rimuove e restituisce il primo elemento.
Update   Trova tutte le occorrenze di Old e le sostituiscile con New. Cerca nell'intero heap quindi è di per sé un'operazione O(n).

Gli oggetti nell'heap sono tutti Variant. L'ordinamento nell'heap è implicitamente definito dal confronto di questi valori. Puoi inserire valori primitivi (booleani, interi, stringhe, ecc.) E anche oggetti. Per confrontare gli oggetti viene utilizzato lo speciale metodo _compare().

Nota che (al momento in cui scrivo) in Gambas non puoi confrontare oggetti con dati primitivi o con oggetti di classi diverse. Se non mantieni l'heap omogeneo nel senso definito, genererà un errore nel tentativo di ordinarsi.

Vedi anche

Wikipedia on heaps