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 :

Exercice en listes chaînées?


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Exercice en listes chaînées?
    Bonjour,

    voila l'énoncé de mon exercice:
    soit une liste L d'entiers strictement positifs, écrire une procédure qui, étant L, crée une liste R contenant les multiples du minimum de la liste L , selon un parcours droite----> gauche.

    la solution que j'ai fais moi même:

    soit les types suivant:
    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
    20
    21
    22
    23
    24
    type Liste=^cellule; 
    cellule=enregistrement ;
    inf :entier ;
    suivant :liste ;
    fin ;
     
    procédure calculR (E/ L :liste ; E-S/ R :liste) ;
    var P,Q :liste ; 
    min :entier ;
    debut
    P :=L ;
    /* on cherche le minimum dans la liste L */
    min := p.^inf ;
    tant que (P<>nil )faire 
    si min> p.^inf) alors min :=p.^info ;
    p :=p.^suivant
    sinon
    p :=p.^suivant ;
    fsi ;
    fait ;
    p :=L ;
    tant que (P<>nil) faire
    si( p.înfo mode min = 0) alors allouer(Q) ;
    q.^info :=P.^info ;
    voila c’est tout ce que j’ai pu faire , je pense que jusque là c’est correcte , sauf que j’ai pu faire le lien de chaînage , surtout qu’il s’agit d’aller de droite à gauche.
    Merci de m’aider , et surtout de m’expliquer la façon dont on fait le lien ,

    Cordialement.

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par afterthenext Voir le message
    voila c’est tout ce que j’ai pu faire , je pense que jusque là c’est correcte , sauf que j’ai pu faire le lien de chaînage , surtout qu’il s’agit d’aller de droite à gauche.
    Merci de m’aider , et surtout de m’expliquer la façon dont on fait le lien
    Pour construire une liste de droite a gauche, il suffit en fait d'ajouter le nouvel élément au début de la liste. Ce nouvel élément devient ainsi la tête de la liste.

    /* au départ la liste est vide */
    var L,E:liste;
    L := nil;

    /* on ajoute un élément qui pointe sur la tete de liste actuelle et devient la nouvelle tete de liste*/
    new(E);
    E.^suivant := L;
    L:=E;
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. Liste chaînée , exercice simple et perte d'élément
    Par Alternative451 dans le forum C
    Réponses: 1
    Dernier message: 21/04/2008, 15h07
  2. Liste chaînée
    Par kilinette dans le forum C
    Réponses: 6
    Dernier message: 17/10/2005, 23h45
  3. Listes chaînées circulaires
    Par gege2061 dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 11/05/2005, 13h44
  4. Construction de liste chaînées
    Par fomblardo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 15/03/2005, 21h19
  5. Insertion d'un noeud dans une liste chaînée
    Par habib106 dans le forum Assembleur
    Réponses: 8
    Dernier message: 07/04/2004, 22h34

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