Salve a tutti.
vorrei porvi un problema un po' complicato.
sto realizzando un grafo tramite un dizionario,dove ogni nodo del dizionario deve contenere la sua lista di adiacenti,ogni adiacente dovra contenere la chiave per accedere al dizionario e recuperare le informazioni sui nodi adiacente appunto.
il problema e che dopo aver fatto i seguenti passi:
1)inserimento nodi -funzionante
2)controllo esistenza nodi - funzionante
provo ad unire con un arco due nodi.
questa funzione dovrebbe avere lo scopo di inserire nella lista di adiacenti di un nodo,un nuovo adiacente che conterra la chiave per accedere al dizionario e cercare appunto il nodo adiacente.
la chiave è univoca per ogni nodo.
il problema è che, quando recupero un nodo in questo modo..
dizionario->recupera(nodo a)->recuperalistaadiacenti()
e a questa lista faccio un inserimento....tutte le liste di adiacenti di tutti i nodi subiscono l'inserimento,come se fossero la stessa lista.
per esempio se collego A con B e B con C A risulterà collegata con C e se stessa e persino C sarà collegata con se stessa e A.
posto un immagine come schema,non ho usato i tag img che è un po grande in modo da leggere bene le scritte.
volevo sapere se qualcuno ha mai avuto questi problemi.o simili.
io dopo 2 giorni,passando 6 ore al giorno al computer,provando passaggi per puntatori anziche per valore, e ricontrollando il programma,tante volte, non sono riusito a risolvere.
in ogni caso,ogni struttura dai nodi alle liste,al dizionario e grafo è realizzata con template.