📜  C#|从LinkedList删除所有节点<T>(1)

📅  最后修改于: 2023-12-03 14:40:29.717000             🧑  作者: Mango

C# | 从LinkedList删除所有节点

在 C# 中,可以通过 LinkedList 类型来实现链表的创建和操作。而如果想要删除所有节点,可以使用 Clear() 方法,该方法可以将所有节点从 LinkedList 中移除。

LinkedList<int> list = new LinkedList<int>();
list.AddLast(1);
list.AddLast(2);
list.AddLast(3);

list.Clear();

上述代码示例创建了一个包含三个元素的 LinkedList,并在最后调用了 Clear() 方法来删除所有节点。在该方法调用后,LinkedList 中将不包含任何元素。

除了 Clear() 方法外,还可以使用 Remove() 和 RemoveAll() 方法来删除节点。Remove() 方法可以删除特定节点,RemoveAll() 方法可以根据特定的条件删除节点。

使用 Remove() 方法

下面是使用 Remove() 方法删除特定节点的示例代码:

LinkedList<int> list = new LinkedList<int>();
list.AddLast(1);
list.AddLast(2);
list.AddLast(3);

LinkedListNode<int> node = list.Find(2);
if (node != null)
{
    list.Remove(node);
}

上述代码示例创建了一个包含三个元素的 LinkedList,并使用 Find() 方法查找值为 2 的节点,并将其保存在 node 变量中。如果找到该节点,则使用 Remove() 方法删除它。

使用 RemoveAll() 方法

下面是使用 RemoveAll() 方法根据条件删除节点的示例代码:

LinkedList<int> list = new LinkedList<int>();
list.AddLast(1);
list.AddLast(2);
list.AddLast(3);

list.RemoveAll(x => x % 2 == 0);

上述代码示例创建了一个包含三个元素的 LinkedList,并使用 RemoveAll() 方法删除了所有偶数节点。在该方法调用后,LinkedList 中将只包含值为 1 的节点。

总之,删除节点可以通过 Clear()、Remove()、RemoveAll() 等方法来实现。具体使用哪种方法取决于实际需求。