Le langage de programmation Java est livré avec une série de structures de données incluses telles que des listes ou des dictionnaires liés. Cependant, vous pouvez à un moment donné envie de créer vos propres implémentations de structures de données pour répondre à vos propres fins . Cela signifie également mettre en œuvre vos propres fonctions de base de la structure de données , y compris l'insertion et les fonctions de suppression. Dans le cas d' une liste doublement chaînée contenant des valeurs de chaîne , c'est une question de veiller à ce que vous trouviez le nœud contenant la chaîne et de relier les éléments avant et après l'élément supprimé pour maintenir la structure de la liste. Choses que vous devez
Java Development Kit (JDK )
éditeur de texte ou environnement de développement intégré (IDE)
Voir Plus Instructions
1
Localisez le nœud de l' liste chaînée que vous supprimez. Dans cet exemple, les nœuds de la liste doublement chaînée sont représentés par l'élément " ListItem », données qui contient une chaîne ( stockées sous forme de "valeur") et deux références à d'autres ListItems : un " précédent " pour elle et un "après" dans la liste . Les « FindItem " traverse de fonction la liste jusqu'à trouver le nœud qui contient la valeur de chaîne , retournant une référence à ce noeud :
publique ListItem findItem ( mot String) {
ListItem actuel = tête actuel
retour; //de la tête de la liste
while ( current.value = mot ! ) { = current.next courant } ;}
2
créer le squelette d'une fonction pour supprimer le noeud . Cette fonction va appeler " findItem » pour localiser le nœud :
publique vide deleteItem ( mot String) {
ListItem enlever = findItem (mot) ;
} < br >
3
modifier la fonction " deleteItem » pour relier le noeud précédent au nœud suivant. Afin de s'assurer que la liste doublement chaînée reste intacte , le noeud précédent doit être relié au reste de la liste après le noeud :
publique vide deleteItem ( mot String) {
ListItem enlevant = findItem (mot) ; removing.previous.after = removing.after ; //le noeud précédent maintenant des liens vers le nœud suivant }
4
modifier la fonction " deleteItem » pour relier le nœud suivant à l' nœud précédent . Pour compléter le lien et maintenir la liste comme une liste doublement chaînée , nœud suivant du nœud supprimé doit maintenant faire un lien vers le noeud précédent du nœud supprimé :
publique vide deleteItem ( mot String) {
< p > ListItem enlevant = findItem (mot) ;
removing.previous.after = removing.after ; removing.after.previous = removing.previous ; //suivante noeud relie désormais au nœud précédent }
5
Supprimer le nœud :
publique vide deleteItem ( mot String) {
ListItem enlevant = findItem (mot) ;
removing.previous.after = removing.after ; removing.after.previous = removing.previous ;
enlevant = null; }