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 :

[LG]problème de tri de pointeur (bulles non optimisé)


Sujet :

Langage Pascal

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [LG]problème de tri de pointeur (bulles non optimisé)
    Salut a tous

    j ai un ptit probleme de tri d'une liste chainée circulaire j aimerais faire un tri par bulles mais ca ne fonctionne pas ca trie qu en partie je ne sais pas pq

    voici le code

    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
    25
    26
    procedure tri;
    var i,j:integer;
        mem1,mem2:pointeur;
    begin
    p1:=debut;
    for i:=1 to compteurmax do (*compteurmax= nbre d'éléments dans la liste chaînée*)
     for j:=1 to compteurmax-1 do
      begin
     
       if p1^.suivant^.info<p1^.info then
          begin
     
           mem1:=p1^.suivant^.suivant;
           mem2:=p1^.suivant;
           p1^.suivant^.precedent:=p1^.precedent;
           p1^.suivant^.suivant^.precedent:=p1;
           p1^.suivant^.suivant:=p1;
           p1^.precedent^.suivant:=p1^.suivant;
           p1^.suivant:=mem1;
           p1^.precedent:=mem2;
          end;
     
      p1:=p1^.suivant;
     
      end;
    end;
    si vous pouvez m aider ca serait cool pcq je rame la

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    C'est quoi une liste circulaire ?? Désolé je ne connais pas ça !
    Poste la déclaration des types que tu utilises, en particulier le type de P1...

    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    ca va j ai résolu le problème lol apparament ca venait de la boucle pour bizar :/ (je l ai remplace par while p<> debut^.precedent)

    en fait p1 etait de type pointeur ac

    precedent:pointeur;
    info:integer;
    suivant:pointeur

    (dans un liste circulaire le dernier élément^.suivant pointe vers le premier élément) y a pas de nil merci pour ta réponse qud mem

  4. #4
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 37
    Points : 41
    Points
    41
    Par défaut lol
    Une liste circulaire (comme tu dis) c'est une liste chaine linked list

    En savoir plus

    http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=linked+list+turbo+pascal

    A+

Discussions similaires

  1. allocation dynamique avec double pointeur ou non
    Par Blackbull dans le forum C
    Réponses: 6
    Dernier message: 09/12/2012, 00h53
  2. Réponses: 5
    Dernier message: 03/05/2012, 08h37
  3. Tri bulle non pertinent
    Par joreveur dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/04/2011, 20h05
  4. [XL-2007] tri décroissant sur ligne non masqué
    Par tmk21fr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/12/2010, 16h33
  5. Réponses: 10
    Dernier message: 26/08/2004, 13h06

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