La liste est la plus riche des familles pouvant être représentées par un chaînage. On peut créer une liste, rajouter un élément à une position, l'enlever, le modifier. Une liste a une longueur et on peut ainsi accéder à un élément se trouvant à une certaine position. Il n'existe pas de spécification universelle des listes. On va étudier ici une des spécifications possibles de liste contenant des objets d'un type prédéfini s'appelant le type Elem.
On peut imaginer toutes sortes de représentation pour les listes, elles ont toutes en commun d'utiliser un chaînage dynamique, car le nombre d'éléments n'est pas limité a priori. Par exemple, on peut utiliser le chaînage suivant : typedef int elem; struct boite{elem val; boite * lien;}; et définir le type liste par:
struct liste{int nb; boite * deb; };
On définit d'abord des utiliaires récursifs sur le chainage, puis l'ensemble des primitives.
[...] Présentation : creliste : rajouter : reste : longueur : premier : insérer : modifier : enlever : accéder : liste x ELEM liste liste liste liste x ELEM x liste x ELEM x liste x liste x liste liste liste N ELEM liste liste liste ELEM Axiomes du type Liste (règles de fonctionnement) Axiomes : pour toute liste pour tout ELEM pour tout entier n > 0 : longueur(creliste()) longeur(rajouter(l, premier(creliste()) premier(rajouter(l, reste(creliste()) reste(rajouter(l, = = = = = = 0 longueur(l) + 1 erreur e creliste() l Les autres extenseurs se définissent à partir des règles précédentes, ce sont simplement des fonctions. [...]
[...] On peut accéder à un élément se trouvant à une certaine position. Il n'existe pas de spécification universelle des listes. On va étudier ici une des spécifications possibles de liste contenant des objets d'un type prédéfini s'appelant le type Elem Spécification du type Liste utilise le type ELEM, et le type N. [...]
[...] Les listes chaînées en Le type LISTE La liste est la plus riche des familles pouvant être représentées par un chaînage. On peut créer une liste, rajouter un élément à une position, l'enlever, le modifier. Une liste a une longueur. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture