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

Langage Pascal Discussion :

Insertion en queue d'une liste


Sujet :

Langage Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 11
    Points : 12
    Points
    12
    Par défaut Insertion en queue d'une liste
    Bonjour à tous,
    Voilà j'ai un petit souci pour insérer en queue d'une liste une autre liste.
    Si je simplifie ma structure de donnée juste pour comprendre ma faute de raisonnement, supposons que j'ai mon type liste défini comme celui ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    type List = ^Cellule;
    Cellule =
      record
        mot : string;
        s : List
      end;
    En supposant que l'on dispose une Liste p à laquelle on veut rajouter d'autres mots, j'ai dans mon programme principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if p = NIL then creer(p,mot)
       else ajout(p,mot);
    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    procedure creer(var p : List; mot : string);
    var q:List;
    begin
         new(q);
         q^.mot := mot;
         q^.s :=NIL;
         p:=q;
    end;
     
    procedure ajout(var p : List; mot:string);
    var r,q : List;
    begin
     creer(r,mot);
     q:=p;
     while q<>NIL do
       q:=q^.s;
     q^.s := r;
      p:=q;
    end;
    Je ne sais comment faire pour que la procédure ajout dans laquelle c'est ici que je veux insérer r en queue à p fonctionne.

    Merci d'avance

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 941
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 941
    Points : 5 652
    Points
    5 652
    Par défaut
    Fio,

    Pour ce genre de problème, le mieux est de revenir au papier/crayon:

    Fais-toi un petit schéma :

    1 case pour une cellule,
    de cette case part une flèche allant à la case suivante (pour représenter le pointeur).

    Puis à la main, regarde comment il faut modifier le schéma pour ajouter une cellule (comment évoluent les flèches existantes et/ou qu'il faut ajouter). Regarder aussi bien pour ajouter au début, à la fin, ou au milieu.

    De même pour supprimer une cellule (au début, à la fin, au milieu).

    C'est un moyen très efficace pour éviter de se tromper.

    Et comme d'habitude, ne commencer le codage qu'une fois qu'on a compris ce qu'il faut faire.
    Si les cons volaient, il ferait nuit à midi.

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/05/2008, 12h58
  2. queue d'une liste chaînée
    Par amazircool dans le forum Langage
    Réponses: 3
    Dernier message: 16/01/2008, 14h46
  3. insertion champ utilisateur dans une liste
    Par pizzzz dans le forum SharePoint
    Réponses: 1
    Dernier message: 06/12/2007, 16h48
  4. insertion d'objets dans une liste chainee
    Par mathher dans le forum C++
    Réponses: 8
    Dernier message: 20/04/2006, 17h28
  5. [debutant] insertion d'éléments dans une List
    Par gwenou60 dans le forum Composants
    Réponses: 1
    Dernier message: 05/12/2005, 10h59

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