-
Liste chainée en c
Bonjour à tous,
Je poste aujourd'hui car nous avons vu les listes chaînées avec des fausses têtes sauf que je ne comprends pas qu'elle est la différence entre une listes chaînée avec fausse tête et une avec une "vraie" tête, et deuxième question comment manipule t'on une fausse tête svp !:)
Bonne journée à tous !
-
Qu'as répondu le professeur à cette question?
Je ne connais pas le terme de "fausse tête".
-
Je pense qu'il s'agit de décider d'encapsuler ou non le pointeur sur le premier élément, d'avoir à tout moment un objet tangible pour représenter la liste ou bien une simple référence qui peut valoir NULL. Cela dit je n'ai jamais rencontré ces termes non plus.
-
Quand j'ai demandé, il m'a dit que du coup la tête n'a pas de valeur (enfin elle est indéfini), je crois que c'est effectivement une encapsulation de la tête mais je ne vois pas comment par exemple faire un ajout en tête avec une fausse tête.
Bonne journée et merci de vos réponses :)
-
a priori, c'est parce que tu n'as pas de valeur dans (le pointeur sur) la valeur dans la fausse tête, mais juste le pointeur sur l'élément suivant.
Du coup, un ajout en tête me semble simple: c'est comme un ajout après n'importe quel élément, avec la tête comme élément à suivre.
-
Merci à tous pour vos réponses, donc c'est bien un ajout similaire à une structure avec tête normale sauf qu'on insère après la fausse tête merci et bonne journée ! :)
-
Cette "fausse tête", dans la littérature anglo-saxone, s'appelle un "guard" me semble-t-il, et c'est une bonne manière de créer des listes chaînées parce que, par exemple, l'insertion en tête ou l'insertion ailleurs se font de la même manière, en appelant la même primitive.
-
Merci de ta réponse mais c'est à dire de la même manière en queue ou en tête ?:)