📅  最后修改于: 2023-12-03 15:00:15.464000             🧑  作者: Mango
在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中查找最后一个包含指定值的节点。