C#中双向链表的实现方式

avatar
作者
猴君
阅读量:0

在C#中可以通过自定义双向链表类来实现双向链表。以下是一个简单的双向链表的实现方式:

public class Node<T> {     public T Data { get; set; }     public Node<T> Next { get; set; }     public Node<T> Previous { get; set; }      public Node(T data)     {         Data = data;         Next = null;         Previous = null;     } }  public class DoublyLinkedList<T> {     private Node<T> head;     private Node<T> tail;      public void Add(T data)     {         Node<T> newNode = new Node<T>(data);          if (head == null)         {             head = newNode;             tail = newNode;         }         else         {             tail.Next = newNode;             newNode.Previous = tail;             tail = newNode;         }     }      public void Print()     {         Node<T> current = head;          while (current != null)         {             Console.WriteLine(current.Data);             current = current.Next;         }     }      // 可以添加其他方法,如在指定位置插入节点、删除节点等 } 

使用示例:

DoublyLinkedList<int> list = new DoublyLinkedList<int>(); list.Add(1); list.Add(2); list.Add(3);  list.Print(); 

以上代码实现了一个简单的双向链表,可以通过Add方法添加节点,并通过Print方法打印链表中的所有节点。在实际应用中,可以根据需要添加其他方法来操作双向链表。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!