Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1412 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [pascal] tri d'une liste chainee

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[pascal] tri d'une liste chainee

n°147450
BigBrother
pulse powered - useless post
Posté le 29-05-2002 à 23:48:20  profilanswer
 

vous auriez pas une idée pour faire le tri d'une liste chainee suivant la valeur de l'un des champs ? Parce que celui que j'ai refuse de marcher :(
Si vous avez rien qu'une petie idée d'algo, ou un site où je peux en trouver (rien trouvé d'efficace pour le moment:(), merci de m'en faire part...


---------------
L'invariance de l'univers lorsqu'on change de referentiel...
mood
Publicité
Posté le 29-05-2002 à 23:48:20  profilanswer
 

n°147594
BigBrother
pulse powered - useless post
Posté le 30-05-2002 à 10:45:58  profilanswer
 

Sil vous plait...:bounce:

n°147696
bartus
^_^
Posté le 30-05-2002 à 12:05:04  profilanswer
 

Et non désolé c'est pas une solution a ton problème ce n'est qu'un  [:tomilou]

n°147917
BigBrother
pulse powered - useless post
Posté le 30-05-2002 à 15:30:37  profilanswer
 

:bounce:

n°154342
cgo2
Dum spiro spero
Posté le 08-06-2002 à 18:13:20  profilanswer
 

bah c'est pas possible dutiliser le contenu d'une variable pour identifier un champ si c'est que tu voulais. donc fo faire un "case of" dans le tri pour definir sur quel champ tu vas travailler. exemple :

case champ of
 1:begin
  valeur1 := courant^.champ1;
  valeur2 := courant^.suivant^.champ1;
 end;
end;

 
et puis ensuite tu compares valeur 1 et valeur 2 pour ton tri.


---------------
When it's from Finland it's good.  - Mon blog
n°154417
corvincent
Posté le 08-06-2002 à 19:34:50  profilanswer
 

tri par le recherches des minimums successifs
 
action tri()
{
p,p_min : pointeurs
 
p<-tl
 
  tantque (p!=NULL) faire
  {
  p_min<-minimum(p);
  echanger(p,p_min);
  p<-suivant(p);
  }
 
}
 
module minimum(tl : pointeur): pointeur
{
p,p_min : pointeurs
p_min<-null
 
  tantque(p!=NULL)faire
  {
    si(valeur(p)<p_min)alors
    {
    p_min=p
    }
    p<-suivant(p)
  }
retourne p_min
}
 
module echanger (p1,p2: pointeur)
{
tempo:<type>
 
tempo<-valeur(p1);
 
affval(p1,valeur(p2))
affval(p2,tempo)
}


Message édité par corvincent le 06-08-2002 à 19:39:36
n°156527
BigBrother
pulse powered - useless post
Posté le 11-06-2002 à 12:26:17  profilanswer
 

merci mais c un peu tard...j'avais fini par trouver ça:
procedure tri(var liste:ptr_liste);

Code :
  1. var p,temp:ptr_liste;
  2.     i:integer;
  3. begin
  4.      if liste^.suiv<>NIL then
  5.         for i:=1 to compte(liste) do
  6.             begin
  7.                  p:=liste;
  8.                  if liste^.valeur>liste^.suiv^.valeur then
  9.                     begin
  10.                          temp:=liste;
  11.                          liste:=liste^.suiv;
  12.                          temp^.suiv:=liste^.suiv;
  13.                          liste^.suiv:=temp;
  14.                     end;
  15.                  while p^.suiv^.suiv<>NIL do
  16.                  begin
  17.                       if p^.suiv^.valeur>p^.suiv^.suiv^.valeur then
  18.                       begin
  19.                            temp:=p^.suiv;
  20.                            p^.suiv:=p^.suiv^.suiv;
  21.                            temp^.suiv:=p^.suiv^.suiv;
  22.                            p^.suiv^.suiv:=temp;
  23.                       end;
  24.                       p:=p^.suiv;
  25.                  end;
  26.             end;


---------------
L'invariance de l'univers lorsqu'on change de referentiel...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [pascal] tri d'une liste chainee

 

Sujets relatifs
[Delphi, Pascal] une méthode de classe n'a pas d'adresse ????![pascal] liste chainée (oui c ridicule)
Petit truc tout bête en Pascal sous Delphi...(Socket de connection...)[pascal en delphi] aidez moi pitié..
[Pascal] Tri fusionDestructeur de liste générique en C++
Turbo Pascal : help[Pascal]Compression LZW
Plus de sujets relatifs à : [pascal] tri d'une liste chainee


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR