我现在正在学习C#中的链表,但在处理它们时遇到了一些问题。我已经弄清楚了它们是什么以及如何制作,但我有一项任务,我不知道从哪里开始。基本上,我正在构建一个静态函数,该函数接收一个链表(在函数标题中称为"节点I"(和两个数字("int start"one_answers"int end"(。我需要打印出列表中这两个数字之间的值。
我的问题是,我仍然不确定如何到达列表中的(开始(位置或(结束(位置。在一个数组中,我可以只写arr[start],但据我所知,你不能用链表来写,只能从列表的开头开始,然后一个接一个地写。但是,当";"开始";可以是任何数字吗?
我想要一个提示,或者一些示例代码。
首先,我建议您共享当前拥有的任何代码,因为这将帮助其他人帮助/理解您。
由于缺少链表类的信息,所提供的示例是在Main方法中初始化的int链表上完成的。您可以使用while和链接列表的First
属性来帮助您遍历列表。看看PrintLinkedList
方法,看看它是否对您有任何帮助。
static void Main(string[] args)
{
var testLinkedList = new LinkedList<int>();
testLinkedList.AddFirst(1);
testLinkedList.AddFirst(2);
testLinkedList.AddFirst(3);
testLinkedList.AddFirst(4);
testLinkedList.AddFirst(5);
testLinkedList.AddFirst(6);
testLinkedList.AddFirst(7);
PrintLinkedList(testLinkedList, 3, 6);
}
private static void PrintLinkedList(LinkedList<int> list, int start, int end)
{
var index = 0;
while (list.First != null)
{
if (index >= start && index <= end)
Console.WriteLine(list.First.Value);
index++;
list.RemoveFirst();
}
}