Devo fare un programma che faccia una tabella hash utilizzando le liste. Devo avere un vettore dinamico dai cui elementi partono le liste. Ovviamente una lista per elemento.
Poi dovrò inserire, cercare, stampare ecc. Durante l'esecuzione devo calcolare il tempo che impiega ad inserire tot elementi variando di volta in volta la dimensione della tabella ed il numero di dati che inserisco, per questo voglio vettori dinamici!
Ma io mi blocco sul vettore dinamico perché non l'avevo mai visto e non so come usarlo.
Secondo voi questo codice ha un senso?
(Mi sento una capra
)
codice:
#include<time.h>
#include <iostream>
using namespace std;
class Dizionario {
public:
bool insert (int dato);
bool search(int dato);
Dizionario(); //???
}
struct Node {
int key;
Node *next;
Node(int key) {next=NULL; key=key;}
};
class Lista {
public:
Node *testa;
Node *PosizCorrente;
Lista() {testa=NULL;PosizCorrente=NULL;};
bool search(int dato);
bool insert(int dato);
};
class DizionarioLista:public Dizionario {
int n;
int *vett;
vett=new Lista *Lista[n]; // E' un vettore di puntatori a Lista?
}
Ho scritto anche altro e poi ho compilato per vedere che errori mi dava e in corrispondenza di "vett=new Lista *Lista[n]" mi dice:
'new' cannot appear in constant-expression e
ISO C++ forbids declaration of 'vett' with no type e
ISO C++ forbids inizialization of member 'vett' making 'vett' static
e altri 2 errori simili...insomma su una riga 5 errori!! 
Uso dev c++!
PS: Devo seguire le indicazioni del prof, quindi la distribuzione delle classi ecc dev'essere questa!