Liste chainée avec un noeud fictf au début
Fermé
juliette
-
21 mai 2008 à 17:08
lina012 Messages postés 51 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 21 juillet 2008 - 21 mai 2008 à 18:00
lina012 Messages postés 51 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 21 juillet 2008 - 21 mai 2008 à 18:00
A voir également:
- Liste chainée avec un noeud fictf au début
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste site streaming illégal - Accueil - Services en ligne
- Liste de diffusion whatsapp - Guide
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
5 réponses
lina012
Messages postés
51
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2008
21 mai 2008 à 17:11
21 mai 2008 à 17:11
salut
tu veux dire quoi avec un noeud fictif ?
tu veux dire quoi avec un noeud fictif ?
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.
lina012
Messages postés
51
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2008
21 mai 2008 à 17:32
21 mai 2008 à 17:32
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
lina012
Messages postés
51
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2008
21 mai 2008 à 18:00
21 mai 2008 à 18:00
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