IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

[Liste simplement chaînée] Dois-je allouer si Premier est NULL ?


Sujet :

Algorithmes et structures de données

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut [Liste simplement chaînée] Dois-je allouer si Premier est NULL ?
    Bonjour tout le monde,

    Á propos des liste simplement chaînée :

    Quand Premier est égal à NULL, il pointe donc sur NULL.

    Si je veux ajouter un élément de type Pointeur de TElementListesc je voudrais savoir si je dois ou non allouer Premier ?

    Est-ce que je fais :

    SI ALLOUER(Premier,TElementListesc) ALORS
    Premier->Donnee = Information;
    Premier->Suivant = NULL;
    FIN SI

    Ou ne dois-je pas allouer ?

    Je vous mets le schéma en attaché pour que vous ayez une idée de ce que je veux.

    Merci d'avance pour votre réponse et bon Dimanche.

    beegees

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tu dois toujours allouer ta mémoire donc je ne comprend pas ta question

  3. #3
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Tu dois toujours allouer ta mémoire donc je ne comprend pas ta question
    Sauf quand tu n'as pas d'information à mettre dedans. Il n'y a pas de mémoire à allouer pour représenter la liste vide puisqu'elle est... vide.

    Mais j'avoue ne pas être completement sûr de comprendre la question non plus

  4. #4
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Tu dois toujours allouer ta mémoire donc je ne comprend pas ta question
    Bonjour,

    Merci pour ta réponse.

    Vue que Premier pointe vers NULL, je me demandais si il était alloué ou non.

    Je me demandais aussi si l'opération 1 quoi doit être effectuée est bien l'allocation ?

    Merci.
    beegees

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Premier ne pointe vers rien, donc tu dois bien allouer l'emplacement où mettre le premier élément, je ne vois pas où est la question

  6. #6
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par beegees Voir le message
    Vue que Premier pointe vers NULL, je me demandais si il était alloué ou non.
    On est bien d'accord qu'une liste chainée de valeurs de type foo, c'est soit la liste vide, soit un couple constituée d'une valeur de type foo et d'une liste chainée.

    Donc la liste vide ne contient aucune information et peut simplement être représenté par le pointeur NULL qui n'a donc pas besoin d'être alloué.

    En revanche, toute liste non vide étant un couple, elle doit être alouée, même si la sous liste (le deuxième élément du couple) est la liste vide (ça ne change absolument rien !)

  7. #7
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Premier ne pointe vers rien, donc tu dois bien allouer l'emplacement où mettre le premier élément, je ne vois pas où est la question
    Citation Envoyé par alex_pi Voir le message
    On est bien d'accord qu'une liste chainée de valeurs de type foo, c'est soit la liste vide, soit un couple constituée d'une valeur de type foo et d'une liste chainée.

    Donc la liste vide ne contient aucune information et peut simplement être représenté par le pointeur NULL qui n'a donc pas besoin d'être alloué.

    En revanche, toute liste non vide étant un couple, elle doit être alouée, même si la sous liste (le deuxième élément du couple) est la liste vide (ça ne change absolument rien !)
    Bonjour Mathieu, Alex,

    Merci pour vos réponses.


    Premier ne pointe vers rien, donc tu dois bien allouer l'emplacement où mettre le premier élément
    Ta réponse répond à ma question, merci.

    On est bien d'accord qu'une liste chainée de valeurs de type foo
    Qu'entends-tu par foo ?

    Merci encore à vous deux.

    beegees

  8. #8
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par beegees Voir le message
    Qu'entends-tu par foo ?
    C'est juste pour dire que c'est une liste de données d'un certain type, mais que le type en question n'a pas d'importance. Ca pourrait être int, float, char, ou que sais-je. Il est alors très courant en informatique de remplacer ça par une "variable" qu'on appelle généralement soit "foo" soit "bar".

  9. #9
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    C'est juste pour dire que c'est une liste de données d'un certain type, mais que le type en question n'a pas d'importance. Ca pourrait être int, float, char, ou que sais-je. Il est alors très courant en informatique de remplacer ça par une "variable" qu'on appelle généralement soit "foo" soit "bar".
    OK merci pour l'information.

    J'utiliserai ce vocabulaire dans le futur.

    Merci encore et bon fin de WE.

    beegees

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Liste simplement chaînée] comment passer d'un élément à un autre ?
    Par beegees dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 18/02/2008, 22h32
  2. [TP] Tri rapide pour liste simplement chaînée
    Par druzy dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 25/11/2007, 15h52
  3. Probleme liste simplement chaînée
    Par sorry60 dans le forum C
    Réponses: 23
    Dernier message: 19/11/2005, 20h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo