aux listes sont des structures de données de base dans la programmation. Presque chaque langage de programmation a une sorte de liste chaînée mis en œuvre comme une bibliothèque, ainsi que de nombreuses façons de construire les listes chaînées . Java ne fait pas exception . Et tandis que Java peut mettre en œuvre une liste chaînée , il permet aux programmeurs de savoir comment des listes liées fonctionnent , et ce qu'ils font . De cette façon , les programmeurs peuvent comprendre la façon de régler leur compte de certaines situations ou les optimiser pour certains systèmes . Nœuds Chaque liste chaînée a pour composante d'un «nœud », qui contient à la fois les données stockées et une variable qui fait référence au prochain élément de la liste. Certaines listes plus complexes contiennent des nœuds qui font référence à plusieurs autres nœuds , mais pour la liste de base , la seule référence pointe vers le nœud suivant dans la liste. . Les données stockées dans la liste peuvent être de toute nature liste chaînée classe En Java, une liste chaînée contiendra , au minimum, deux classes : la principale classe de liste , et un noeud de classe . L'exemple suivant illustre cette différence . Dans cette liste, la classe de nœud réside en tant que membre privé de la classe de liste, de sorte que seule la liste peut manipuler les nœuds . Pour un utilisateur d'ajouter ou de supprimer des éléments , elle doit passer par l'interface de classe : la classe LLIST publique { classe Node private static { int de données ; noeud suivant; } } < br > insérer dans la liste Chaque liste aura une méthode d' insertion. Cette méthode prend une valeur de l'utilisateur, dans ce cas, un nombre entier , et insérer un noeud contenant cette valeur le long de la liste . Cela signifie également que chaque liste contiendra une simple variable qui représentera un noeud de tête , de sorte que la liste ne sait quand il est vide ou lorsque l'utilisateur se trouve au début de la liste: tête de nœud = null; insertNode public void (int value) { Node temp = nouveau nœud (); new.data = value; if ( tête == null) { tête = temp; temp.next = null; } else { noeud courant = tête ; while ( current.next = null !) {current == current.next ; } current.next = temp; temp.next = null; } enlevant de la liste Retrait de la liste est un peu plus compliqué . Dans une liste simple, l'utilisateur ne fera qu'ajouter à l'extrémité de la liste. Avec le retrait , elle peut supprimer un nœud du milieu . Dans ce cas, le programmeur doit s'assurer que la liste reste cohérent en s'assurant que le noeud précédent au nœud supprimé désigne le nœud après nœud supprimé : removeNode public void (int value) { if ( de la tête ! = null) { Node courant = head.next ; sentier Node = tête ; while ( courant = null && current.data = value) { trail = en cours; ! courant = current.next ; } if ( current.data == valeur ) { trail.next = current.next ; courant = null; return;} else if ( courant == null) {System.out.println (" Element pas dans la liste "); return;} }}
|