
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Implementing a Linked List
|
237
This is the TodoItem class, which is a simple container for two strings _name and
_comment.
public class TodoItem
{
public TodoItem (string name, string comment)
{
_name = name;
_comment = comment;
}
private string _name = "";
private string _comment = "";
public string Name
{
get {return (_name);}
set {_name = value;}
}
public string Comment
{
get {return (_comment);}
set {_comment = value;}
}
}
Discussion
The LinkedList<T> class in the .NET framework is considered a doubly linked list.
This is because each node in the linked list contains a pointer to both the previous
node and the next node in the linked list. Figure 4-1 shows what a doubly linked list
looks like diagrammed on paper. Each node in this diagram represents a single
LinkedListNode<T> object.
Notice that each node (i.e., the square boxes) contains a pointer to the next node (i.e.,
the arrows pointing to the right) and a pointer to the previous node (i.e., the arrows
pointing to the left) in the linked list. In contrast, a singly linked list contains only
pointers to the next node in the list. There is no pointer to the previous node.
In the
LinkedList<T> class, the previous node is always accessed through the
Previous property and the next node is always accessed through the Next property. ...