RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Parcours d'une liste de listes chainnées

Forum : C++
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ C++

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C++

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Visiteur MP
Membre du club
Inscrit :
Messages : 1242
Message
#145800
Posté le 27/11/07 à 22:34
Bonjour,

J'implémente une liste d'adjacence pour travailler sur des graphes.

J'ai donc opté pour la stucture suivante :

J'ai une classe Sommet qui sera une liste chaînée de sommet.


class sommet { private : // sommet *suivt; // le suivant dans la liste // int elm; // information contenue public : sommet *suivt; // le suivant dans la liste int elm; // information contenue sommet *suivant(void) { return suivt; } int &contenu(void) { return elm; } sommet* supprime_svt(); sommet* insere(int e); sommet & operator=(const sommet & inSommet); };


et j'ai une méthode qui crée ma liste et rajoute des maillons.

Dans mon programme je créé une liste (STL) de sommets. je crée une liste chainé que j'insère dans ma liste via push_back.

Puis je veux voir si ma liste est bien remplie. Je veux donc la parcourir. c'est là le drame.

Voici l'affreux code :


bool graph::charger(char *S,graph & g) { int i,j,k,l,N,noeud,suc; ifstream ch(S); ch>>N; cout<<"n: "<<N<<endl; n=N; sommet liste; list<sommet>::iterator it; for(i=0;i<n;i++) { liste=g.AjoutNoeud(ch,liste,g); listeAdj.push_back(liste); } sommet tmp; for(it=listeAdj.begin();it!=listeAdj.end();it++){ tmp=*it; while(tmp.suivt!=NULL){ cout<<tmp.elm<<endl; tmp=tmp.suivt; } } return true; }


Le parcours ne fonctionne pas. Je ne sais pas comment accèder à la liste chainé dans chaque éléméent de la liste principale (listeAdj).

Pourriez-vous m'aider?

PS: Grand débutant en C++.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2554
Message
#145869
Posté le 29/11/07 à 23:03
Je pense que te conseiller d'aller jeter un coup d'oeil du côté de Boost.Graph (cherche sur google) n'est pas de trop :)
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 


    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.