Bonjour à tous,
j'ai besoin d'aide pour mon code c++, je dois grâce aux enregistrements de maillonT et chainageT, créer une fonction insertion permettant d'insérer un élément de type T EN TETE du chainage .
Je n'arrive pas à compiler, il y a surement un problème avec mon pointeur, je pensais pourtant que à la base il fallait dire que ch.tete devient mem(pm).succ et que pm devient du coup la tete du maillon
Merci d'avance pour votre aide

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
40
41
42
 
#include<stdio.h>
#include<malloc.h>
 
 
typedef int T;
 
// enregistrement du maillon
typedef struct maillonT {
               T elt;
               maillonT *succ;
        } maillonT;
 
/enregistrement du chainage
typedef struct chainageT {
               maillonT *tete;
               maillonT *queue;
               int nb_elt;
        } chainageT;
 
 
// ajout d'un nouvel élément en tête du chainage ch
 
 
void insertionT(chainageT & ch,T e){
   //variable, pointeur vers maillonT 
   ch.nb_elt=0;
 
   maillonT *pm; 
   pm = new maillonT;
 
   pm->succ = ch.tete;
   ch.tete = pm;
   pm->elt = e;
   nb_elt=nb_elt+1; //incrémentation du nombre d'élément du chainage
 
   // si la liste est vide 
 
   if (ch.tete==NULL){
       ch.tete = pm ;
   }
}