[C++] CREAZIONE GRAFO CON LISTA DI ADIACENZE

di Anonimizzato10327 il
18 risposte
Salve ragazzi, cerca aiuto per la creazione di un grafo formato da nodi contenenti le liste di adiacenze. Grazie a tutti per l'aiuto.

18 Risposte

  • Fai una ricerca se ne é giá parlato nel forum un piao di mesi fá circa.
  • skynet ha scritto:


    Fai una ricerca se ne é giá parlato nel forum un piao di mesi fá circa.
    ho già cercato, ma si trattava di grafi con matrici di adiacenze e non liste...
  • E' un tantino diverso rispetto a ciò che sto facendo io.

    Per esempio io ho implementato il nodo del grafo in questa maniera:
    #ifndef NODOGRAFO_H
    #define NODOGRAFO_H
    
    #include "listap.h"
    
    template <class T> class nodo
    {
       public:
          typedef T tipoelem;
          nodo();
          ~nodo();
          nodo(tipoelem);
          void setElemento(tipoelem);
          tipoelem getElemento();
          void stampanodo();
          
         
       private:     
          tipoelem elemento;
          circLista<nodo>* adiacenze;
    };
    
    // REALIZZAZIONE METODI NODOGRAFO
    
    template <class T> nodo<T>::nodo()
    {
             
    }
    
    template <class T> nodo<T>::~nodo()
    {
             
    }
    
    
    template <class T>nodo<T>::nodo(tipoelem e)
    {
      elemento=e;
    }
    
    template <class T> void nodo<T>::setElemento(tipoelem elem)
    {
       elemento=elem;
    }
    
    template <class T> T nodo<T>::getElemento()
    {
        return elemento;
    }
    
    template <class T>void nodo<T>::stampanodo()
    {
        cout<<getElemento()<<endl;
    }
    
    #endif
  • Se vedi il mio esempio un pó sotto (7-8 post)te ne accorgerai che é la stessa cosa
  • skynet ha scritto:


    Se vedi il mio esempio un pó sotto (7-8 post)te ne accorgerai che é la stessa cosa
    class VLA.

    vla è la sigla di cosa?
  • Devi chiedere all'autore del thread, credo sia vettore lista addiacenze
  • skynet ha scritto:


    Devi chiedere all'autore del thread, credo sia vettore lista addiacenze
    capito, grazie.

    invece cosa ne pensi di quello che ho scritto io?
  • Che è l'inizio di una classe fatta coi template. Ha due get/set e basta. Dovresti fare il resto non credi?
  • skynet ha scritto:


    che è l'inizio di una classe fatta coi template. Ha due get/set e basta. Dovresti fare il resto non credi?
    eh certo. ho iniziato oggi.
  • Cmq è un buon inizio. Attenzione al getElemento, io lo metterei const.
    const tipoelem & getElemento() const;
    non puoi ne modoficarlo ne puoi permettere agli utilizzatori di modificarlo.
    il set lo farei per riferimento e non per valore
    
    setElemento(const T &)
    
    se T è una classe enorme la copia può costare molto in spazio e velocità
  • skynet ha scritto:


    cmq è un buon inizio. Attenzione al getElemento, io lo metterei const.
    const tipoelem getElemento() const;
    non puoi ne modoficarlo ne puoi permettere agli utilizzatori di modificarlo.
    il set lo farei per riferimento e non per valore
    
    setElemento(const T &)
    
    se T è una classe enorme la copia può costare molto in spazio e velocità
    credo tu abbia ragione.

    anche perchè il tipoelem del template sarà un oggetto di tipo "stanza"; ossia la stanza della mappa del gioco adventure che devo creare su questo grafo...
  • skynet ha scritto:


    Vedi se riesci a comprarti sto libro e se puoi tutta la collana dello stesso autore. É uno dei libri che non puo mancare alla tua biblioteca
    http://www.amazon.com/gp/aw/d/0321334876/ref=redir_mdp_mobile/190-5013889-9718317?redirect=true&tag=aristeia.com-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0321334876
    meyers...sinceramente mi è nuovo questo nome...io utilizzo l'aguilar come manuale...

    anche se dal titolo questo non mi sembra propriamente un classico manuale c++...o sbaglio?
Devi accedere o registrarti per scrivere nel forum
18 risposte