listadoppia Class Reference

classe che amministra una lista doppia. More...

#include <listadoppia.h>

List of all members.

Public Member Functions

int numero ()
 funzione che restituisce il numero di elementi.
 listadoppia ()
 il costruttore.
 ~listadoppia ()
 il distruttore.
void inserisci (int n)
 funzione che inserisce in coda alla lista.
int estrai ()
 funzione che estrae un elemento dalla testa della lista.

Protected Attributes

elemp0
 puntatore alla testa.
elemp1
 puntatore all'ultimo elemento.
int numelem
 numero di elementi della lista.


Detailed Description

classe che amministra una lista doppia.

con listadoppia si intende una lista con doppio puntatore in ogni elemento (elem) e con un puntatore alla testa e un puntatore all'ultimo elemento, questa classe mi serve una volta aver letto le frequenze dei caratteri nei file per togliere dal vettore i caratteri che non compaiono mai, ho scelto una lista con puntatore ausiliario per ridurre la complessità, ogni volta che in v trovo un carattere con frequenza > 0 inserisco il suo indice dentro una listadoppia tramite la inserisci(), poi all'estrazione vado direttamente a leggere la frequenza del carattere corrispondente. viene utilizzata solo nella arrayfreq().

See also:
compressore::arrayfreq(), inserisci(), estrai()

Definition at line 22 of file listadoppia.h.


Constructor & Destructor Documentation

listadoppia::listadoppia  ) 
 

il costruttore.

non fa altro che settare p0 e p1 a 0 e numelem a 0; Complessità: O(1).

See also:
p0, p1, numelem

Definition at line 8 of file listadoppia.cpp.

References numelem, p0, and p1.

listadoppia::~listadoppia  ) 
 

il distruttore.

cancella la lista, può essere necessario dato che essa occupa memoria dinamica, anche se alla fine di arrayfreq() essa dovrebbe risultare vuota; Complessità: O(n).

See also:
costruttore::arrayfreq()

Definition at line 15 of file listadoppia.cpp.

References p0.


Member Function Documentation

int listadoppia::estrai  ) 
 

funzione che estrae un elemento dalla testa della lista.

anche in questo caso non ho bisogno di ciclare, quindi non ho problemi di complessità; Complessità: O(1).

Returns:
restituisce il campo info del primo elem
See also:
elem, compressore::arrayfreq()

Definition at line 41 of file listadoppia.cpp.

References numelem, p0, and p1.

Referenced by compressore::arrayfreq().

void listadoppia::inserisci int  n  ) 
 

funzione che inserisce in coda alla lista.

ho impostato questa lista perché inserisse in coda e estraesse in testa, in questo modo non cambio l'ordine dei caratteri, essi compaiono con lo stesso ordine in cui comparivano in compressore::v, questa funzione viene eseguita senza cicli infatti ho 2 puntatori p0 e p1 e 2 puntatori per ogni struttura di tipo elem; Complessità: O(1).

Parameters:
n | numero inserito, corrisponde all'indice di v che ha v[n] > 0
See also:
elem, compressore::v, compressore::arrayfreq()

Definition at line 26 of file listadoppia.cpp.

References numelem, p0, and p1.

Referenced by compressore::arrayfreq().

int listadoppia::numero  ) 
 

funzione che restituisce il numero di elementi.

il campo numelem e privato e quindi non posso accederci dall'esterno, per questo utilizzo questa funzione; Complessità: O(1).

Returns:
il numero di elementi

Definition at line 54 of file listadoppia.cpp.

References numelem.

Referenced by compressore::arrayfreq().


The documentation for this class was generated from the following files:
Generated on Sat May 20 14:57:56 2006 for Huffzip by  doxygen 1.4.6-NO