#include "nAdiacenti.h"
#include "listap.h"
template <class T>
class Grafo{
public:
typedef T tipoelem;
typedef int posizioneNodo;
static const int NIL = 0;
//typedef Lista<
//typedef int nodo;
struct nodo{
tipoelem label;
bool mark;
nAdiacenti *listaNodiAdiacenti;
};
Grafo();
Grafo(int);
//~Grafo();
//grafo con oggetto;
void creaGrafo();//sc
bool grafoVuoto();//sc
void insNodo(posizioneNodo);//sc
void insArco(posizioneNodo,posizioneNodo);//sc
void cancNodo(posizioneNodo);//
void cancArco(posizioneNodo,posizioneNodo);//sc
Lista<nodo> adiacenti(podizioneNodo);
bool esisteNodo(posizioneNodo);//sc
bool esisteArco(posizioneNodo,posizioneNodo);//sc
tipoelem leggiNodo(posizioneNodo);//sc
void scriviNodo(posizioneNodo, tipoelem);//sc
private:
nodo *NodiGrafo;
int MAXNODI;
posizioneNodo cercaPosLib();
};