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

C Discussion :

manipulation de liste chainée


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 342
    Par défaut manipulation de liste chainée
    Bonjour,
    1)j'aimerais recopié une liste chainée (A)dans une autre liste chainée (B)contenant plus d'information.
    Est ce que l'algorithme suivant est correct?

    Tant qu'on arrive pas à l'élément NULL de la liste chainée à copiée (A)
    si l'élément de la liste chainée B est différent de NULL
    on va chercher l'élément NULL

    sinon on chaine l'élément en cours dans B

    2)j'aimerais enlever un élément dans une liste chainée.
    comment dois je procéder?


    Merci de votre aide.

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    1) Si je comprend, tu veux ajouter les éléments de A à la fin de la liste B.
    Le plus simple (si les éléments de A et B sont des structures de même type) est de se placer à la fin de B (donc chercher l'élément X de B dont le suivant est NULL) et chainer le premier élément de A derriere X.

    2)
    j'aimerais enlever un élément dans une liste chainée.
    comment dois je procéder?
    Cela dépend si ta liste est simplement ou doublement chainée.
    - Si elle est doublement chainée, c'est facile puisque à partir de l'élément à enlever tu as son prédecesseur et son successeur et tu peux donc les chainer sans grande difficulté
    - Si elle est simplement chainée, à partir de l'élément à enlever tu n'as pas son prédecesseur et il faut donc le chercher. En fait, le problème se pose alors comme "enlever le successeur de Y" au lieu de "enlever X". (Ne pas oublier le cas particulier où l'élément à enlever est le premier et n'a pas de prédecesseur donc Y n'existe pas)

Discussions similaires

  1. manipulation des listes chainées
    Par bounadalvidal dans le forum Débuter
    Réponses: 8
    Dernier message: 19/01/2010, 19h40
  2. Réponses: 25
    Dernier message: 17/11/2008, 09h11
  3. manipulation d'une liste chainé
    Par sorari dans le forum C++
    Réponses: 1
    Dernier message: 16/03/2005, 12h32

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