Liste bidirectionnelle exo débutant
Résolu
bornin90s
Messages postés
52
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerai un avis sur cet exo svp et merci d'avance. Alors voici l'énoncé:
Soit une liste bidirectionnelle d’entiers.
Ecrire un module qui inverse le contenu de la liste bidirectionnelle
et voici la correction qu'une amie propose et je ne suis pas du meme avis qu'elle au niveau de la ligne où j'ai mis le commentaire . Qu'en pensez-vous :
J'aimerai un avis sur cet exo svp et merci d'avance. Alors voici l'énoncé:
Soit une liste bidirectionnelle d’entiers.
Ecrire un module qui inverse le contenu de la liste bidirectionnelle
et voici la correction qu'une amie propose et je ne suis pas du meme avis qu'elle au niveau de la ligne où j'ai mis le commentaire . Qu'en pensez-vous :
Type LBi = ↑Structure DEBUT Info : entier Prec, suiv : LBi FIN Var tete, queue : LBi Procedure Inversion (Donnee tete, queue : LBi ) Var P, D : LBi Var perm : entier DEBUT Si (tete != NIL) Alors P ←tete D←queue Tantque (P != D ET D↑.suiv != P) faire /* Moi je trouve qu'elle aurait dû mettre : Tantque (P != D ET D↑.prec != P) faire Perm ← P↑.info P↑.info←D↑.info D↑.info←perm P←P↑.suiv D←D↑.prec FinTanque FinSi FIN
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, cette fois-ci, je suis d'accord avec ton amie.
il faut s’arrêter soit quand D et P sont identiques, soit quand P est le suivant de P.
tu ne peux pas t’arrêter quand P est le précédent de D, car, quand c'est le cas, il faut faire l'échange encore une fois. après cet échange, P deviendra le suivant de D, et il faudra s’arrêter.