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...)
Source / Exemple :
cf ZIP
Conclusion :
Apparemment il reste un bug lors du clic sur la croix de fermeture de la fenêtre, sous Eclipse le programme ne semble pas se terminer correctement, malgré l'utilisation du WindowAdapter....
De plus, certaines parties ne sont certainement pas programmées le plus proprement possible :p
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.