Chainage, la fonction insertion
tsuka
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
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
typedef int T;
typedef struct maillonT {
T elt;
maillonT *succ;
} maillonT;
typedef struct chainageT {
maillonT *tete;
maillonT *queue;
int nb_elt;
} chainageT;
// ajout d'un nouvel élément en tête
void insertionT(chainageT & ch,T e){
//variable, pointeur vers maillonT
ch.nb_elt;
maillonT * pm = new maillonT;
if (pm==NULL){
pm->elt=e;
pm->succ=ch.tete;
ch.tete=pm;
ch.nb_elt=ch.(nb_elt+1);
}
}
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
typedef int T;
typedef struct maillonT {
T elt;
maillonT *succ;
} maillonT;
typedef struct chainageT {
maillonT *tete;
maillonT *queue;
int nb_elt;
} chainageT;
// ajout d'un nouvel élément en tête
void insertionT(chainageT & ch,T e){
//variable, pointeur vers maillonT
ch.nb_elt;
maillonT * pm = new maillonT;
if (pm==NULL){
pm->elt=e;
pm->succ=ch.tete;
ch.tete=pm;
ch.nb_elt=ch.(nb_elt+1);
}
}
A voir également:
- Chainage, la fonction insertion
- Fonction si et - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
1 réponse
salut. Déjà, en C++ le typedef tel que tu l'utilises est inutile.
Sinon, pour le reste ça semble bon. Autre remarque, tu fait du C++, utilise la notion d'objet et de fonction membre, c'est mieux. Tu mets insertionT en tant que fonction membre de chainageT, et tu vires le paramètre ch.
void insertionT(chainageT & ch,T e){ //variable, pointeur vers maillonT ch.nb_elt;// instruction inutile, elle ne fait rien. maillonT * pm = new maillonT; if (pm==NULL){// instruction débile, si pm vaut NULL c'est qu'il a été mal alloué, donc ne surtout pas le modifier et emettre un message d'erreur. pm->elt=e; pm->succ=ch.tete; ch.tete=pm; ch.nb_elt=ch.(nb_elt+1);// 8-O quel est le sens de cette instruction dans ta tête ???? } }
Sinon, pour le reste ça semble bon. Autre remarque, tu fait du C++, utilise la notion d'objet et de fonction membre, c'est mieux. Tu mets insertionT en tant que fonction membre de chainageT, et tu vires le paramètre ch.