Insertion element liste chaînée en c
kikzee
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
Dalfab Messages postés 706 Date d'inscription Statut Membre Dernière intervention -
Dalfab Messages postés 706 Date d'inscription Statut Membre Dernière intervention -
Bonjour.,
quelqu'un peut m'explique ce code(l'insertion d'un element dans une liste )
merci
quelqu'un peut m'explique ce code(l'insertion d'un element dans une liste )
void inserer(List **l, int val) { List *tmp = NULL; List *laux = *l; List *elem = malloc(sizeof(List)); if(elem !=NULL){ elem->valeur = val; elem->suivant=NULL; while (laux){ tmp=laux; laux=laux->suivant; } if(tmp!=NULL) tmp->suivant=elem; else *l=elem; }}
merci
A voir également:
- Insertion element liste chaînée en c
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Touche insertion clavier - Guide
- Liste code ascii - Guide
- Insertion sommaire word - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, quelle partie du code ne comprends-tu pas?
ne serait-il pas préférable que tu expliques ce que tu comprends, et que tu poses une question précise?
ne serait-il pas préférable que tu expliques ce que tu comprends, et que tu poses une question précise?
void inserer(List **l , int val) // ajouter val à la fin de la Liste d'adresse l { List *tmp = NULL; // tmp sera pointeur sur dernier élément List *laux = *l; // pour parcours de liste, commence au premier élément List *elem = malloc(sizeof(List)); // allouer un nouvel élément if ( elem != NULL ) { // si l'allocation s'est bien passée elem->valeur = val; // initialiser l'élément elem->suivant = NULL; // et le marquer comme dernier (pas de suivant) while ( laux ) { // tant que l'on n'est pas au delà du dernier (laux!=NULL) tmp = laux; // noter pointeur sur dernier élément vu laux = laux->suivant;// et passer au suivant } if ( tmp != NULL ) // on a vu des éléments tmp->suivant = elem; // le suivant du dernier est le nouveau venu else // sinon on n'a pas vu d'élément *l = elem; // le nouveau devient le début de liste } }On peut aussi faire plus court.
Et tu peux poser des questions précises.