Liste chainée avec un noeud fictf au début
juliette
-
lina012 Messages postés 51 Statut Membre -
lina012 Messages postés 51 Statut Membre -
Bonjour,
Ecrire une fonction qui inserer_avant qui insère dans une liste simplement chainée "Ls" avec un noeud fictif au début , un entier avant un noeudd'adresse "pn"
Ecrire une autre fonction qui supprime dans une liste (simplement chainée avec un noeud fictif au début) , la première occurence d'un élément connaissant l'adresse pn de son noeud.
n'hésitez pas de poster vos propositions ;)
Ecrire une fonction qui inserer_avant qui insère dans une liste simplement chainée "Ls" avec un noeud fictif au début , un entier avant un noeudd'adresse "pn"
Ecrire une autre fonction qui supprime dans une liste (simplement chainée avec un noeud fictif au début) , la première occurence d'un élément connaissant l'adresse pn de son noeud.
n'hésitez pas de poster vos propositions ;)
A voir également:
- Liste chainée avec un noeud fictf au début
- Liste déroulante excel - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Site dangereux liste - Guide
- Liste groupe whatsapp - Guide
5 réponses
salut lina :)
noeud fictif au début de la liste c à d que le 1er noeud de la liste contient n'importe quoi ,il n'y a pas une condition sur la 1ere cellule .
par expl si on a une liste constituée de 3 cellules dont le 1er noeud est fictif , ds ce cas la liste contient 2 éléments mais constituée de 3 cellules tt de mm.
noeud fictif au début de la liste c à d que le 1er noeud de la liste contient n'importe quoi ,il n'y a pas une condition sur la 1ere cellule .
par expl si on a une liste constituée de 3 cellules dont le 1er noeud est fictif , ds ce cas la liste contient 2 éléments mais constituée de 3 cellules tt de mm.
d'accord je vois maintenant
si j'ai bien compris , tu veux une fonction qui insère un elément (entier ) dans une liste simplement chainée constitué soit disant de maillons et on trouve deux champs ds chaque maillon ; disons un champ ou on stocke un entier et le deuxième pointe sur le maillon suivant
si j'ai bien compris , tu veux une fonction qui insère un elément (entier ) dans une liste simplement chainée constitué soit disant de maillons et on trouve deux champs ds chaque maillon ; disons un champ ou on stocke un entier et le deuxième pointe sur le maillon suivant
effectivement , sauf que je vx 2 fonctions une qui insère et l'autre pr supprimer ,e n tenant compte du fait que la 1ère cellule est fictive .
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
supposons que c'est une liste triée par ordre croissant
la structure sera
Tliste L1
int elt;
TListe next ;
TListe;
Tliste insérer (Tliste L1, int x){
L2 = L1->next ; // comme ca on garde l adresse du noeud fictif avec L1
while (x>L2->elt){
L2=L2->next;
}
if (L2->next != NULL) { // on est pas à la fin de la liste
temp =L2->next;
créer un maillon qu'on nommera d (avec un malloc ) et aprés on fait le chainage
l2->next=d;
d2->next= temp;
}
else{ // fin de liste ,le x est le plus grand ds la liste
créer d2 ( encore avec la malloc sizeof ....)
L2->next = d;
d->next=NULL;
}
return (L2) // si tu veux retourner juste ta liste sans tenir compte du noeud fictif, ou sinon tu peux faire return(L1)
puisqu'on a gardé l'adresse
}
j'ai essayé de te donner un peu les grandes lignes , ça n'empêche que ça peut contenir des fautes .
dis moi ce que t'en penses et je regarderai pr le reste ou bien je rectifierai si nécessaire
bon courage
la structure sera
Tliste L1
int elt;
TListe next ;
TListe;
Tliste insérer (Tliste L1, int x){
L2 = L1->next ; // comme ca on garde l adresse du noeud fictif avec L1
while (x>L2->elt){
L2=L2->next;
}
if (L2->next != NULL) { // on est pas à la fin de la liste
temp =L2->next;
créer un maillon qu'on nommera d (avec un malloc ) et aprés on fait le chainage
l2->next=d;
d2->next= temp;
}
else{ // fin de liste ,le x est le plus grand ds la liste
créer d2 ( encore avec la malloc sizeof ....)
L2->next = d;
d->next=NULL;
}
return (L2) // si tu veux retourner juste ta liste sans tenir compte du noeud fictif, ou sinon tu peux faire return(L1)
puisqu'on a gardé l'adresse
}
j'ai essayé de te donner un peu les grandes lignes , ça n'empêche que ça peut contenir des fautes .
dis moi ce que t'en penses et je regarderai pr le reste ou bien je rectifierai si nécessaire
bon courage