📜  C#|在LinkedList中找到最后一个节点<T>包含指定值(1)

📅  最后修改于: 2023-12-03 15:00:15.464000             🧑  作者: Mango

在LinkedList中找到最后一个节点<T>包含指定值

在C#中,LinkedList是一种实现链表数据结构的类。如果你需要在LinkedList中找到最后一个节点<T>包含指定值的节点,可以使用以下代码:

public static LinkedListNode<T> FindLastNodeWithValue<T>(LinkedList<T> list, T value)
{
    LinkedListNode<T> lastNode = null;
    foreach (LinkedListNode<T> node in list)
    {
        if (node.Value.Equals(value))
        {
            lastNode = node;
        }
    }
    return lastNode;
}

上面的代码定义了一个名为FindLastNodeWithValue的静态方法,该方法接受两个参数:一个LinkedList<T>对象和一个搜索值。该方法将遍历链表,对每个节点进行判断,如果节点的值与搜索值相等,则将该节点赋给lastNode。最后,方法将返回lastNode。

这里使用foreach语句来遍历LinkedList中的节点,因为LinkedList实现了IEnumerable接口。要检查节点的值是否与指定值匹配,可以使用Equals方法。

下面是一个使用示例:

LinkedList<string> list = new LinkedList<string>();
list.AddLast("apple");
list.AddLast("banana");
list.AddLast("orange");
list.AddLast("apple");
list.AddLast("pineapple");

LinkedListNode<string> lastAppleNode = FindLastNodeWithValue(list, "apple");
if (lastAppleNode != null)
{
    Console.WriteLine("Last apple node is {0}", lastAppleNode.Value);
}
else
{
    Console.WriteLine("No apple nodes found");
}

在上面的示例中,我们创建了一个包含5个字符串的LinkedList对象,并使用FindLastNodeWithValue方法查找最后一个值为“apple”的节点。如果找到了该节点,则输出该节点的值;否则输出“No apple nodes found”。

希望这篇介绍有助于你在C#的LinkedList中查找最后一个包含指定值的节点。