如何利用C#泛型实现双向链表

avatar
作者
猴君
阅读量:0

实现双向链表可以借助 C# 中的泛型来实现。以下是一个简单的双向链表的示例代码:

using System;  public class Node<T> {     public T Data { get; set; }     public Node<T> Next { get; set; }     public Node<T> Prev { get; set; }      public Node(T data)     {         Data = data;         Next = null;         Prev = null;     } }  public class LinkedList<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.Prev = tail;             tail = newNode;         }     }      public void Print()     {         Node<T> current = head;         while (current != null)         {             Console.Write(current.Data + " ");             current = current.Next;         }         Console.WriteLine();     } }  class Program {     static void Main()     {         LinkedList<int> list = new LinkedList<int>();         list.Add(1);         list.Add(2);         list.Add(3);         list.Print();     } } 

在这个示例中,我们定义了一个 Node<T> 类表示链表中的节点,包含数据和指向前一个节点和后一个节点的引用。然后定义了一个 LinkedList<T> 类表示双向链表,包含添加节点和打印链表的方法。

你可以根据需要修改或扩展这个代码来实现更多功能。希望这个示例能够帮助到你实现双向链表。

广告一刻

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