Insertion element liste chaînée en c
kikzee
Messages postés
87
Statut
Membre
-
Dalfab Messages postés 720 Statut Membre -
Dalfab Messages postés 720 Statut Membre -
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
- Liste code ascii - Guide
- Touche insertion clavier - Guide
- Insertion video powerpoint - Guide
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 586
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.