Voici le résultat d'un projet qu'on nous a donné à réaliser en DUT, deuxième année. Sujet : affichage graphique de listes chaînées...
Il est possible de créer différents types de listes :
- listes simplement chaînées
- listes simplement chaînées circulaires
- listes simplement chaînées ordonnées
- listes doublement chaînées
- listes doublement chaînées circulaires
- listes doublement chaînées ordonnées
- files
- piles
On peut ajouter un maillon en tête (sauf pour les listes ordonnées) contenant un entier aléatoire, déplacer un maillon d'une liste à une autre sans contrainte de type, fusionner deux listes de types quelconques, sélectionner un maillon pour le déplacer (sauf pour les piles/files, évidemment, vu que l'on opère toujours sur le premier/dernier élément dans ce cas).
Tous les maillons supprimés sont placés dans une corbeille, afin d'être éventuellement restaurés par la suite.
Le projet (=ensemble de listes) peut être enregistré, puis restauré plus tard... Une liste unique peut également être sauvegardée, puis restaurée par la suite. Une liste restaurée est ajoutée dans le projet courant.
L'affichage des listes se fait en fonction du type de liste. De plus, il est possible de réduire/étendre l'affichage d'une liste en particulier, en la sélectionnant et en cliquant sur 'Réduire/Etendre'. Lorsqu'une liste est réduite, seule la tête est affichée, et les seules opérations faisables se font sur la tête (sélection d'un maillon, etc...)