Java implémente la fonction de l'ajout et de la suppression des listes liées bidirectionnelles, code complet
package lié; class linkedTable {} public class linkedTableTest {// Construire une seule liste liée nœud statique node1 = new node ("name1"); Node nœud statique Node2 = nouveau nœud ("name2"); Node nœud statique Node3 = nouveau nœud ("name3"); Node nœud statique Node4 = nouveau nœud ("name4"); Node statique Node5 = nouveau nœud ("name5"); public static void main (String [] args) {// set pointer configpoint (); // Loop via System.out.println ("******* Liste liée initiale **********"); OUT (Node1, Node5); System.out.println (); // insérer le nœud derrière Node2 AddNode (Node2, Node3); // Loop via System.out.println ("******* INSERT NODE2.5 *********"); OUT (Node1, Node5); System.out.println (); // supprimer le nœud node2.setNextNode (Node3); node3.setNextNodef (Node2); // Loop via System.out.println ("******* Supprimer Node2.5 *******"); OUT (Node1, Node5); System.out.println (); } // Définir le pointeur public static void setpoint () {// Définit le pointeur Node1.setNextNode (node2); node2.setNextNode (Node3); node3.setNextNode (Node4); Node4.SetNextNode (Node5); // définir le pointeur inversé Node5.SetNextNodef (Node4); Node4.SetNextNodeF (Node3); Node4.SetNextNodeF (Node3); node3.setNextNodef (Node2); node2.setNextNodef (Node1); } // Loop via la liste liée unique publique static void OutLinded (node startNode) {node node = new node (); node.setNextNode (startNode); do {node = node.getNextNode (); System.out.print (node.getName () + "----"); } while (node.getNextNode ()! = null); } // Boucle en réversement via la seule liste liée publique statique void OutLinkEdf (nœud endnode) {node node = new node (); node.setNextNodef (endnode); do {node = node.getNextNodef (); System.out.print (node.getName () + "----"); } while (node.getNextNodef ()! = null); } // Loop via public static void out (nœud startNode, nœud endnode) {OutLinded (startNode); System.out.println (); OutLinkEdF (endnode); } // insérer le nœud public static void addNode (node prenode, node nextNode) {node node_add = new node ("name2.5"); node_add.setNextNode (prenode.getNextNode ()); Prenode.setNextNode (Node_add); node_add.setNextNodef (nextNode.getNextNodef ()); NextNode.setNextNodeF (Node_add); }} classe nœud {nom de chaîne privée; Node privé NextNode; nœud privé nextNodef; public void setName (String name) {this.name = name; } public void setNextNode (node nextNode) {this.nextNode = nextNode; } public void setNextNodef (node nextNodef) {this.nextNodef = nextNodef; } public String getName () {return this.name; } Node public getNextNode () {return this.nextNode; } Node public getNextNodef () {return this.nextNodef; } Node public (nom de chaîne) {this.name = name; this.NextNode = null; } Node public () {}}1. La construction d'un nœud de nœud nécessite deux pointeurs, l'un pour stocker la position de l'élément suivant et l'autre pour stocker la position de l'élément suivant.
Description du paramètre:
Nom: utilisé pour stocker les propres informations du nœud
NextNode: utilisé pour stocker des pointeurs avant
NextNodef: utilisé pour stocker des pointeurs inversés
classe Node {nom de chaîne privée; Node privé NextNode; nœud privé nextNodef; public void setName (String name) {this.name = name; } public void setNextNode (node nextNode) {this.nextNode = nextNode; } public void setNextNodef (node nextNodef) {this.nextNodef = nextNodef; } public String getName () {return this.name; } Node public getNextNode () {return this.nextNode; } Node public getNextNodef () {return this.nextNodef; } Node public (nom de chaîne) {this.name = name; this.NextNode = null; } Node public () {}}2. Créez un nœud et définissez un pointeur pour se connecter au nœud
Pointeur avant: pointez vers le nœud suivant
Node inversé: pointez vers le nœud précédent
// Construire une seule liste liée nœud statique Node1 = new nœud ("name1"); Node nœud statique Node2 = nouveau nœud ("name2"); Node nœud statique Node3 = nouveau nœud ("name3"); Node nœud statique Node4 = nouveau nœud ("name4"); Node statique Node5 = nouveau nœud ("name5"); public static void setpoint () {// Définissez le pointeur avant node1.setNextNode (node2); node2.setNextNode (Node3); node3.setNextNode (Node4); Node4.SetNextNode (Node5); // Définissez le pointeur inversé Node5.SetNextNodeF (Node4); Node4.SetNextNodeF (Node3); node3.setNextNodef (Node2); node2.setNextNodef (Node1); }3. Pouper la liste liée par le biais de la sortie
public static void OutLinded (nœud startNode) {node node = new node (); node.setNextNode (startNode); do {node = node.getNextNode (); System.out.print (node.getName () + "----"); } while (node.getNextNode ()! = null); } public static void OutLinkEdf (nœud endnode) {node node = new node (); node.setNextNodef (endnode); do {node = node.getNextNodef (); System.out.print (node.getName () + "----"); } while (node.getNextNodef ()! = null); }4. Ajouter des nœuds
public static void addNode (node prenode, node nextNode) {node node_add = new node ("name2.5"); node_add.setNextNode (prenode.getNextNode ()); Prenode.setNextNode (Node_add); node_add.setNextNodef (nextNode.getNextNodef ()); NextNode.setNextNodeF (Node_add); }5. Supprimer les nœuds
Node2.SetNextNode (Node3); Node3.SetNextNodef (Node2);
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.