Salve, sto facendo questo programma sulla rappresentazione di grafi tramite liste di adicaenza.
Volevo implementare 2 classi, una per la gestione del nodo del grafo , l'altra per la gestione delle liste... ma mi da degli errori.
Uso visual c++.
ecco il codice lasciate perdere le cose in più:
#include <iostream>
#include <time.h>
#define SIZE 50//size del grafo=numero dei vertici
#include <string>//L'utilizzo di stringhe richiede l'inclusione dell'header string
#include <queue>
using namespace std;
class lista
{
private:
lista *pnext;
grafo *nodo;//qui da l'errore ma mi serve in questa
// classe un puntatore all'altra classe
int peso;
public:
lista(grafo **N, int pes)
{
nodo=N;
peso=pes;
p_next=NULL;
}
};
class grafo
{
private:
int vert; //nodo del grafo
//int peso; //peso attribuito all'arco
lista *next; //puntatore al nodo successivo nella lista di adiacenza di v
string color; //colore del nodo v (utilizzato per la BFS-Visit)
grafo *p; //predecessore del nodo v (utilizzato per la BFS-Visit)
int d; //distanza del nodo v dal vertice sorgente(utilizzato per la BFS-Visit)
int f;
public:
//Realizzo il costruttore per l'inizializzazione dei dati membro
grafo (int v)
{
vert=v;
next=NULL;
}
//int getv() { return vert;}
//void setpeso(int pes) { peso=pes;}
//void setnext(grafo *n) { next=n;}
void insert(grafo **N)
{
lista *p=this->next;
int pes=rand()%100;
lista *nuovo=new lista(N,pes);
while(p!=NULL)
p=p->next;
p=nuovo;
}
};
Sarei grato se qualcuno mi desse un suggerimento.
Grazie.