Sur la concaténation de 2 liste chainné

nabilhoumani Messages postés 1 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 16 décembre 2006 - 16 déc. 2006 à 20:43
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 26 déc. 2006 à 14:54
comment fair la concaténation de 2 liste chainné  vc c++
 j'ai deja créé une class noeu et 1 autre liste kelle es friend de la premier mai j'arrive pas a faire la concaténation de 2 liste chainé

2 réponses

magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
26 déc. 2006 à 14:52
malgré ce français approxiamtif, on voit le soucis tout simple.

(me fait que les classes soient friend n'a rien à voir là dedans)

cette concaténation peut etre accomplie de deux façon,
l'une non destructrice pour la 2nde liste:
en rajoutant chacun des éléments de la 2nde liste à la première

L'autre plus rapide & moins gourmande en mémoire, mais destructrice (la 2nde liste est vidée)
en mettant la 2nde liste à la suite de la 1ere
(cela suppose la 1ere liste non triée)

rendons ceci plus parlant pour la 2nde méthode:

List : héritant d'Elt
Elt : comportant : suivant,precedent, valeur.

void concat(List* pL1,List *pL2)
{
if(!pL2)return;

if(!pL1)
{
pL1=pL2;
pL2=NULL;
return;

}
Elt* pLast2=pL2->precedent;
pL2->precedent=pL1->precedent:
pL1->precedent->suivant=pL2;
pL1->precedent=

pL2->precedent;
pLast2->suivant=pL1;
pL2=NULL;
}

___________________________________________________________
Magicalement
Nono
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
26 déc. 2006 à 14:54
malgré ce français approxiamtif, on voit le soucis tout simple.

(me fait que les classes soient friend n'a rien à voir là dedans)

cette concaténation peut etre accomplie de deux façon,
l'une non destructrice pour la 2nde liste:
en rajoutant chacun des éléments de la 2nde liste à la première

L'autre plus rapide & moins gourmande en mémoire, mais destructrice (la 2nde liste est vidée)
en mettant la 2nde liste à la suite de la 1ere
(cela suppose la 1ere liste non triée)

rendons ceci plus parlant pour la 2nde méthode:

List : héritant d'Elt
Elt : comportant : suivant,precedent, valeur.

void concat(List* pL1,List *pL2)
{
if(!pL2)return;

if(!pL1)
{
pL1=pL2;
pL2=NULL;
return;

}
Elt* pLast2=pL2->precedent;
pL2->precedent=pL1->precedent:
pL1->precedent->suivant=pL2;
pL1->precedent=

pL2->precedent;
pLast2->suivant=pL1;
pL2=NULL;
}

___________________________________________________________
Magicalement
Nono
0
Rejoignez-nous