IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

les listes chaineés(structures)


Sujet :

C

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Points : 35
    Points
    35
    Par défaut les listes chaineés(structures)
    salut,j'essaye de comprendre le principe des listes chaineés j'ai quelque informations mais je prefere ne pas chercher sur les sites la maniere dont faire une liste chaineé sans la comprendre donc je vien de faire une liste chaineé et une fonction pour la parcourir et l'afficher voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    #include <stdlib.h>
    #include <stdio.h>
    struct test
    {
     int i;
     int c;
     struct test *suiv;
    };
    void main()
    {
     void affiche(struct test *list);
     FILE *fi;
     int c;
     struct test *nouveau;
     struct test *premier;
     nouveau=premier;
     if((fi=fopen("C:\\test.txt","r"))==NULL) {printf("err.ouv.fich"); getchar(); return(1);}
     while(c!=EOF)
     {
      c=fscanf(fi,"%d %d",&(nouveau->i),&(nouveau->c));
      nouveau=nouveau->suiv;
      nouveau=(struct test *)malloc(sizeof(struct test));
     }
     free(nouveau);
     nouveau=NULL;
     fclose(fi);
     affiche(premier);
     getchar();
    }
    void affiche(struct test *list)
    {
     struct test *temp;
     temp=list;
     while(temp!=NULL)
     {
      printf("%d %d\n",temp->i,temp->c);
      temp=temp->suiv;
     }
    }
    malheureusement sa marche pas sa ce compile bien mais quand je l'execute sa affiche juste les deux premiers nombre decimaux et puis sa envoie l'erreur du genre "le programme a rencontré un probleme et doi fermer 'envoyer','ne pas envoyer'".
    veuillez decouvrir l'erreur plz .
    merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nouveau=nouveau->suiv;
    nouveau=(struct test *)malloc(sizeof(struct test));
    Ça ne peut pas marcher, ça...
    De plus, tu n'initialises pas suiv à NULL, donc ça peut pointer sur n'importe quoi et ça fait planter l'affichage...

    PS: Pas de cast au retour de malloc() en C. Cela n'est nécessaire qu'en C++.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Points : 35
    Points
    35
    Par défaut
    si tu vx dire que le dernier pointeur doi pointer sur NULL bah je le fais
    free(nouveau);
    nouveau=NULL;
    fclose(fi);
    sinon explique toi bien ecris la syntaxe.

  4. #4
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par snakemetalgear
    salut,j'essaye de comprendre le principe des listes chaineés j'ai quelque informations mais je prefere ne pas chercher sur les sites
    <...>
    malheureusement sa marche pas sa ce compile bien mais quand je l'execute sa affiche juste les deux premiers nombre decimaux et puis sa envoie l'erreur du genre "le programme a rencontré un probleme et doi fermer 'envoyer','ne pas envoyer'".
    veuillez decouvrir l'erreur plz .
    Ton code est beaucoup trop complexe pour tester la notion de listes chainées. Il est plein d'erreurs et c'est normal.

    Je propose de commencer par des choses simples, avec des définitions statiques, on verra plus tard comment on fait du dynamique.

    1- Définir une structure noeud

    Celle ci permet de lier les éléments entre eux selon le principe 'pointer sur le suivant'.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    struct node
    {
       struct mode *p_next;
    };
    Ce qui est le strict minimum, mais n'est pas très utile si il n'y a pas au moins une donnée. Par exemple un pointeur sur une chaine littérale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    struct node
    {
       /* chainage */
       struct mode *p_next;
     
       /* donnees */
       char const *s;
    };
    Le dernier noeud de la liste pointe sur NULL. L'adresse du premier est précieusement conservée, sinon, on ne sait pas où la liste démarre.

    2 - Définir des noeuds statiquement.

    Rien de plus simple. Il suffit de créer, par exemple 3 instances, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       struct node a = {NULL, "Hello"};
       struct node b = {NULL, "world"};
       struct node c = {NULL, "wild"};
    Il est d'usage que par défaut, le pointeurs de chainages soient à NULL, ça évite les comportements erratiques.

    3 - Créer une liste

    Mettons que l'on veuille former une liste composée, dans l'ordre, des mots "Hello" puis "world".

    Il suffit de créer les chainages adéquates :
    et voila.

    4 - Afficher le contenu de la liste

    Maintenant, on peut parcourir la liste et afficher le contenu :

    On défini un pointeur qui va pointer sur chacun des éléments.
    il commence par désigner a :
    on peut alors afficher la donnée :
    ensuite, il suffit de modifier le pointeur pour qu'il pointe sur le neud suivant :
    et voilà révélé le grand secret des listes chainées.
    Est-on en fin de liste ?
    non, alors on peut afficher la donnée :
    et on recommence. On se doute bien qu'un boucle va pouvoir automatiser tout ça, s'arrêter quand p vaudra NULL etc.

    Je te laisse faire. On doit obtenir
    Hello world
    5 - Insérer un élément

    C'est là toute la puissance de la liste chainée : l'insertion. Il suffit en fait de jouer sur les chainages :

    On a : a -> b ->NIL et on veut a -> c -> b -> NIL
    Pour ça
    1 - On fait pointer c sur b : on a donc : a -> b -> NIL, c-> b -> NIL
    2 - On fait pointer a sur c : a -> c -> NIL, c -> b -> NIL, ce qui fait bien a -> c -> b -> NIL.

    Ce qui se code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       c.p_next = &b; /* 1 - */
       a.p_next = &c; /* 2 - */
    Avec la même méthode de lecture que précédemment, on doit obtenir maintenant :
    Hello wild world
    Je te laisse faire les essais...

  5. #5
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    On peut voir comment tu initialises premier.

  6. #6
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut
    personellement pour une liste chainée j'utilise 2 types de structure
    la liste en elle meme, et une structure "sentinelle"

    la structure "sentinelle" est seulement la pour pointer sur le premier element de ma liste (bien sur on peux ajouter des trucs dedans, comme l'element courant ...).
    ça me permet de simplifier le code et l'utilisation de la liste.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Points : 35
    Points
    35
    Par défaut
    mais ou est precisement les fautes,bien sur ya des fautes ca je le sais mais j'arrive pas a les localiser.
    je donne la valeur de premier a nouveau:
    nouveau=premier;
    pour que nouveau fasse le travail et premier garde la premier liste.
    enfin...c ce que je pense

  8. #8
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Citation Envoyé par snakemetalgear
    mais ou est precisement les fautes,bien sur ya des fautes ca je le sais mais j'arrive pas a les localiser.
    je donne la valeur de premier a nouveau:
    nouveau=premier;
    pour que nouveau fasse le travail et premier garde la premier liste.
    enfin...c ce que je pense
    Oui biensur tu initialises nouveau avec premier mais où est-ce que tu initialises premier ? Tu a un probléme d'affichage de ta liste et dans ton code on voit que tu demandes d'afficher la liste 'premier' et pas nouveau...

    Il te faut te documenter d'abord sur les listes chainées

  9. #9
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Points : 35
    Points
    35
    Par défaut
    ok veuillez ecrire le code corrigé et puis je vais essayer de le prendre comme exemple.

  10. #10
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Citation Envoyé par snakemetalgear
    ok veuillez ecrire le code corrigé et puis je vais essayer de le prendre comme exemple.
    Pas possible à ce stade autant le réecrire complétement Et comme il va bien falloir que tu arrives à la coder cette liste chaînée je te conseille de t'y mettre rapidemment

  11. #11
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Points : 35
    Points
    35
    Par défaut
    ok en tous cas il me semble que l'exemple d'emmanuel etais un peu claire je vais l'essayer.vous savez ce qui me derange avec les listes chaineés c'est que dans chaque site on me dis une maniere de les faire chaquin a sa maniere donc moi sa me soule sa .
    bon merci a tous surtout emmanuel.

  12. #12
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par snakemetalgear
    vous savez ce qui me derange avec les listes chaineés c'est que dans chaque site on me dis une maniere de les faire chaquin a sa maniere donc moi sa me soule sa
    Je te comprends. C'est pour ça que dans un premier temps, j'essaye de me concentrer sur l'essentiel.

  13. #13
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Points : 35
    Points
    35
    Par défaut
    je vois que dans ton exemple tu as utiliser des structures eux meme mais la plupart des exemple que j'ai vu n'utilise que des pointeurs,et encore tu as stocké les infos directement et pas depui un fichier,parcontre moi il faux que je les aquis a partir d'un fichier alors je px pas savoir quand le fichier va se terminer donc je doi faire une boucle et utiliser malloc juska ce ke le fichier se termine.
    si seulement quelqun me donne un exemple simple comment initialiser une liste
    chaineé et la remplir avec des infos a partir d'un fichier,meme si l'exemple ne soi pas comme le mien.allez c pas si compliqué,parce que moi je sens que je comprendrai pas a partir de ces commentaires.

  14. #14
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par snakemetalgear
    je vois que dans ton exemple tu as utiliser des structures eux meme mais la plupart des exemple que j'ai vu n'utilise que des pointeurs,et encore tu as stocké les infos directement et pas depui un fichier,parcontre moi il faux que je les aquis a partir d'un fichier alors je px pas savoir quand le fichier va se terminer donc je doi faire une boucle et utiliser malloc juska ce ke le fichier se termine.
    si seulement quelqun me donne un exemple simple comment initialiser une liste
    chaineé et la remplir avec des infos a partir d'un fichier,meme si l'exemple ne soi pas comme le mien.allez c pas si compliqué,parce que moi je sens que je comprendrai pas a partir de ces commentaires.
    Et en français, ça donne quoi ?

  15. #15
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Points : 35
    Points
    35
    Par défaut
    ché pas pck moi je parle pas francais!!!

  16. #16
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut
    Citation Envoyé par snakemetalgear
    *charabia* moi je parle pas francais!!!
    je ne comprend que le français et l'anglais ...
    si tu souhaite etre aidé, fait en sorte d'etre compris.

  17. #17
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Quand tu veux lire au départ d'un fichier, il faut que tu crées une structure en fonction... du contenu du fichier...

    Rien ne t'interdit de mettre une structure dans une structure... ca peut etre plus facile...

    Exemple: tu veux le nom et le prénom d'une personne (mettons... un maximum de 30 caractères utiles pour chaque nom et chaque prénom)...

    Tu crée donc une structure du genre de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef struct SCoord
    {
        char nom[30+1]; /* le +1 permet d'avoir le caractère '\0' terminal ;) */
        char prenom[30+1]; /* meme remarque */
    }Coord; /* fournit un nom de type... ca permet de ne pas devoir, à chaque
             * fois, utiliser struct ;) */
    Cette structure ne sert qu'à une seule et unique chose, permettre de "maintenir" un couple nom/prenom...

    Puis, il te faut... une structure qui te serve de noeud pour ta liste...

    Cette structure doit contenir... le nom et le prénom de chaque personne qui fait "noeud de liste"...

    Finalement, que l'on fasse une structure sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    typedef struct SNoeud
    {
        Coord Coordonnees;
        struct SNoeud *p_Next;
    }Noeud;
    ou sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    typedef struct SNoeud
    {
        Coord *p_Coordonnees;
        struct SNoeud *p_Next;
    }Noeud;
    ne changera pas grand chose (hormis le fait que dans le deuxième cas, il faudra veiller à ce que p_Coordonnees soit correctement alloué)...

    Si meme, on décide de mettre p_Next avant Coordonnees (ou p_Coordonnees, selon le cas), ce n'est qu'un détail d'implémentation...

    On pourrait meme très bien décider de ne créer qu'une seule structure sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef struct SNoeud
    {
        char nom[30+1];
        char prenom[30+1]
        struct SNoeud* p_Next;
    }Noeud;
    voire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef struct SNoeud
    {
        char *nom;
        char *prenom;
        struct SNoeud* p_Next;
    }Noeud;
    Il faudra juste faire attention lors d'une déclaration "statique", à fournir les éléments dans le bon sens...

    L'exemple qui suit utilise un type Coord et non Coord*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    /* avec Coordonnees avant p_Next */
    Noeud a={{"Valgent","Jean"},NULL};
    /* avec Coordonnees apres p_Next */
    Noeud a={NULL,{"Valgent","Jean"}};
    Tu pourras de toutes manières accéder aux informations sous une forme ressemblant à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf("%s %s\n", a.Coordonnees.prenom, a.Coordonnees.nom);
    ou à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf("%s %s\n", a->Coordonnees->prenom, a->Coordonnees->nom);
    si tu a utilisé un pointeur de type Coord

    A la question de savoir ce qui est le mieux entre toutes les possiblités que cela implique, j'aurais personnellement à dire qu'il n'y a pas forcément de réponse... Le tout est de veiller à allouer la mémoire dynamiquement si nécessaire de manière cohérente et logique

    Pour la lecture d'un fichier, ben, on peut, par facilité, décider d'introduire chaque noeud à la fin de la liste...

    Le speudo code pourrait ressembler à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Noeud* Lecture() /* la fonction de lecture renverra le premier noeud de la
                       * liste  */
    |
    |    ouverture du fichier
    |    Noeud* Debut=NULL /* il faut garder le bout de la liste ;) */
    |    Noeud* Fin=NULL /* on a décidé de mettre les noeud apres le dernier
    |                     * on aura plus facile à le faire en gardant en mémoire
    |                     * le dernier noeud ;) */
    |    Noeud* Nouveau /* pour pouvoir  travailler à notre aise */
    |    si fichier ouvert
    |    |   "tant qu'il y a quelque chose à lire"
    |    |   |   Allouer Nouveau
    |/* si tu as décidé de travailler avec un pointeur de type Coord, il faut
    | * allouer Coordonnees ici ;) */
    |    |   |   Lire Nouveau->Coordonnees.Nom
    |    |   |   Lire Nouveau->Coordonnees.Prenom
    |    |   |   Nouveau->p_Next=NULL /* de prime abord, ca peut etre le dernier
    |    |   |                         * élément à lire ;) */
    |    |   |   Si Premier==NULL /* C'est peut etre le premier élément lu */
    |    |   |   |   Premier= Nouveau
    |    |   |   Si Dernier !=NULL /* on a peut etre deja lu quelque chose */
    |    |   |   |   Dernier->p_Next= Nouveau
    |    |   |   Dernier=Nouveau /* Une chose est sur, c'est que maintenant,
    |    |   |                    * celui qu'on vient de lire est le dernier ;) */
    |    |   |Fin Tant
    |    |   Fermer Fichier 
    |    |Fin Si
    |    Renvoie Premier /* il faut pas oublier de renvoyer le début de
    |                     *  la liste ;) ) */

  18. #18
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Points : 35
    Points
    35
    Par défaut
    ok merci,c'est bon j'ai tout capter,j'ai reussi avec le code et j'ai meme ajouter quelque fonctions :
    rechercher:pour rechercher une struct et renvoyer son pointeur.
    afficher:pour afficher toute la liste.
    supprimer:pour supprimer une struct.
    strafficher:pour afficher juste une structure.
    et sa marche super.
    dites moi felicitations!!!

  19. #19
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par snakemetalgear
    j'ai meme ajouter quelque fonctions :
    <...>
    strafficher:pour afficher juste une structure.
    Mauvais choix d'identificateur.
    str_afficher ou afficherstr ou afficher_str est correct.

    http://emmanuel-delahaye.developpez....htm#id_reserve

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Listes chainées Structure contenant
    Par loco_info dans le forum C
    Réponses: 3
    Dernier message: 17/05/2007, 13h08
  2. Toujours les listes chainées
    Par KindPlayer dans le forum C
    Réponses: 2
    Dernier message: 26/02/2007, 10h00
  3. liste chainée & structure
    Par hunter99 dans le forum C
    Réponses: 8
    Dernier message: 10/12/2006, 16h31
  4. des questions sur les listes chainées
    Par hunter99 dans le forum C
    Réponses: 13
    Dernier message: 05/12/2006, 22h51
  5. les listes chainées
    Par najwWa dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/03/2006, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo