- Assurez-vous que vous disposez de la ressource geometrie. Au besoin, consultez la page Ressources.
- Le code ci-dessous crée une liste :
- Exécutez le code en mode pas-à-pas. Combien de champs sont inclus dans la représentation mémoire d’une instance de LinkedList ? Pouvez-vous imaginer à quoi ils servent ?
- Avancez d’un pas. Que deviennent les trois champs ?
- Avancez encore d’un pas. Que deviennent les trois champs ?
Combien d’objets au total sont donc nécessaires à la représentation mémoire de cette liste à deux éléments ?
Et si on ajoute encore 8 éléments, il y aura combien d’objets ? - Quelle est la place requise pour cette représentation mémoire ?
- Ajoutez quelques éléments à cette liste pour surveiller l’évolution du schéma mémoire. Que devient le champ last de l’instance de LinkedList ?
Écrivez une instruction permettant de connaître la taille de la liste. Quel est le résultat ? - En utilisant la fonction add avec un entier en paramètre, pour ajouter à un rang donné, écrivez une instruction qui permet d’ajouter un nouveau point au rang 2.
Pensez à surveiller l’évolution des champs des différentes instances de Node en présence. Que constatez-vous ? - Quelle est l’efficacité de cette fonction add ?
- En utilisant cette même fonction add, écrivez une instruction qui permet d’ajouter un nouveau point en tête de liste.
Que constatez-vous ? - Assurez-vous que vous maîtrisez cette représentation mémoire en surveillant l’évolution de la représentation mémoire lors de la suppression de l’élément de rang 2, puis du premier et du dernier élément (fonction remove).
- Quelle est l’efficacité de la fonction remove ?