Liste circulaire [Résolu]

Messages postés
2
Date d'inscription
lundi 18 avril 2011
Statut
Membre
Dernière intervention
20 avril 2011
- - Dernière réponse : mustrhaz62
Messages postés
14
Date d'inscription
mardi 11 août 2009
Statut
Membre
Dernière intervention
24 avril 2011
- 24 avril 2011 à 11:36
salut,s'il vous plait j'arrive pas à résoudre un problème dans mon petit projet.
la difficulté c'est que j'ai pas trouvé la relation entre l'indice et la position dans une liste contigue circulaire.
je vous propose un extrait de l'énoncé :
Dans une liste non circulaire les positions et les indices sont égaux (ajouter un élément à la
position 4 cad l’affecter à elements[4]), par ailleurs L->lg correspond toujours à la position du
dernier élément de la liste L.
Ceci n’est pas le cas dans les listes circulaires où il faut faire une correspondance entre les
indices et les positions. En effet, lg et pos n’ont pas de signification en tant qu’indice : Pour
trouver leurs vrais indices il faut les lier à la tête ou à la queue. Les débordements sont gérés
par l’opérateur Modulo (reste de la division entière exprimé par % dans le langage C)
s'il vous plait c'est urgent j'attends votre réponse ; merci d'avance
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
3
Merci
salut,

lg, ça veut dire quoi ? Je parle de tête et de pied (Head ou Tail), de début ou de fin. D'entrée de liste pour une liste circulaire. De noeuds, je résèrve éléments pour les tableaux. lg est aussi obscure pour moi que d'appeler des patates Z dans une équation.

Indice est censé exprimer quoi ?

De ce que j'en comprends, indice serait un n°unique qui s'incrementerait à chaque création de noeud et position serait la position du noeud à un moment T soit par rapport au point d'entrée pour une liste circulaire soit à la tête ou au pied. Dans ce cas, il n'y a pas de correspondance indice/position, que la liste soit circulaire ou non puisqu'un noeud peut être ajouté n'importe où dans la liste.

J'ai l'impression qu'il y a une volonté d'amalgamer tableau et liste alors que ça n'est pas du tout la même chose.

Pour mieux voir et comprendre les choses, je me fais des dessins mais pour moi, ce texte est clair comme de l'eau de boudin.


@++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_patatalo
Messages postés
14
Date d'inscription
mardi 11 août 2009
Statut
Membre
Dernière intervention
24 avril 2011
0
Merci
Salut,

Quelle est ta question concrètement ?
Commenter la réponse de mustrhaz62
Messages postés
2
Date d'inscription
lundi 18 avril 2011
Statut
Membre
Dernière intervention
20 avril 2011
0
Merci
salut
lg ça veut dire la taille logique de la liste
indice c'est l'indice d'un élément du tableau
mon problème c'est que j'arrive pas à distinguer la différence entre la position et l'indice afin d'appliquer les fonctions: insertion et suppression dans une liste contigue circulaire.
Commenter la réponse de cs_whiteflower
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
0
Merci
re,

Un élément du tableau ? Tu as dis que c'était une liste.

Je ne vois pas trop le problème, à ce moment, tu comptes a partir de ton point d'entrée dans la liste. Idem pour une liste circulaire mais au lieu de stoper quand le pointeur courant->suivant NULL lg, tu t'arrêtes quand le pointeur courant == point d'entrée.

@++
Commenter la réponse de cs_patatalo
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
0
Merci
Correction,
pointeur courant->suivant NULL ou pointeur courant lg

En général, pour une liste non circulaire, je préfère faire pointer les extrêmitées sur eux-mêmes. On obtient donc pointeur courant->suivant == pointeur courant.

@++
Commenter la réponse de cs_patatalo
Messages postés
1
Date d'inscription
samedi 23 avril 2011
Statut
Membre
Dernière intervention
24 avril 2011
0
Merci
salut! j'ai un problème dans les implémentations des primitives d'une liste de manière circulaire contigüe est plus précisément l'insertion et la comparaison.svp aidez-moi j'ai un projet à rendre très bientôt.Merci d'avance
Commenter la réponse de Emnaaa
Messages postés
14
Date d'inscription
mardi 11 août 2009
Statut
Membre
Dernière intervention
24 avril 2011
0
Merci
Salut,

Regarde du côté de la classe circular_buffer de la bibliothèque boost http://boost-sandbox.cvs.sourceforge.net/viewvc/boost-sandbox/boost-sandbox/boost/circular_buffer/
Commenter la réponse de mustrhaz62