Les listes chaînées
Enoncé :
Soit les déclarations de types et la procédure MACHIN suivantes :
Type ptElement = ^Liste
Type Liste= Structure
Info : Entier
Suivant : ptElement
Fin Structure
Procédure MACHIN (E p: ptelment, S trouvé : booléen, E x : entier)
Début
Si (p <> null) alors
Tant que (p^.info < x) et (p^.suivant <> null) faire
p p^.suivant
Fin Tant que
Si (p^.info = x) alors
Trouvé vrai
Sinon
Trouvé faux
Finsi
Sinon écrire (‘la liste est vide’)
FinSi
Fin Procédure
Procédure BIDULE (E p: ptelment, S trouvé : booléen, E x : entier)
Début
Si (p <> null) alors
Tant que (p^.info <> x) et (p^.suivant <> null) faire
p p^.suivant
Fin Tant que
Si (p^.info = x) alors
Trouvé vrai ;
Sinon
Trouvé faux;
Finsi
Sinon écrire (« la liste est vide’)
Finsi
Fin Procédure
Question 1 :
Y a-t-il une différence entre ces deux algorithmes ?
Question 2 :
Que fait l’algorithme BIDULE ?
Que fait l’algorithme MACHIN ?
Question 3 :
Considérons que la liste chainée contient les éléments suivants.
1. Si j’appelle MACHIN (q, trouve, 1) quelle est la valeur renvoyée par trouve ?
2. Est-ce normal ? Que faut-il pour que l’algorithme fonctionne effectivement? Avec
quel jeu de données ?
3
premier
nil
7
1
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !