C# 链表建议

C# 链表建议,c#,list,C#,List,我被分配了一项任务如下: 我想构建一个链表的实现。具体来说,我希望它是一个双链接列表 我的任务: 您的程序应该使用链表来使用链表对列车路线进行建模。 首先,用户将输入他们希望列车拥有的站数,以及每个站的名称。 然后程序应打印路线图。 完成后,他们输入要开始的站点的名称。 从那里,他们可以输入命令,将列车向前移动到下一站或向后移动到上一站 有人告诉我,我没有做好这项工作,但我真的不明白为什么不行,如果有人能解释我没有做什么,我会很感激 我的路线类(尚未完成,但如果正确完成,它将接近完成): 名称空

我被分配了一项任务如下:

我想构建一个链表的实现。具体来说,我希望它是一个双链接列表

我的任务: 您的程序应该使用链表来使用链表对列车路线进行建模。 首先,用户将输入他们希望列车拥有的站数,以及每个站的名称。 然后程序应打印路线图。 完成后,他们输入要开始的站点的名称。 从那里,他们可以输入命令,将列车向前移动到下一站或向后移动到上一站

有人告诉我,我没有做好这项工作,但我真的不明白为什么不行,如果有人能解释我没有做什么,我会很感激

我的路线类(尚未完成,但如果正确完成,它将接近完成):

名称空间列车路线
{
班级路线
{
停止根;
public LinkedList LinkedList=新建LinkedList();
公共站点MakeNewStop(字符串stopName)
{
Stops stopWithStopName=新站点(stopName);
返回stopWithStopName;
}
公共void AddStops(Stops stop我想添加)
{
if(linkedList.Count==0)
{
AddFirst(stopIWantToAdd);
}
其他的
{
//stopIWantToAdd.prevStop=linkedList.Last();
AddLast(stopIWantToAdd);
}
}
公共关系()
{
for(int i=0;i
我也不允许使用链表类,但我要使用链表(我不100%确定这意味着什么)


我们将感谢您提供的所有建议/帮助

让我们在这里拼凑面包屑:

我想构建一个链表的实现

这是:

我也不允许使用链表类

显然,这里的任务是实现自己的链表(类),而不是使用.NET提供的现有链表

我假设这里的任务不是构建处理列车的程序,而是学习链表是如何工作的,以及如何实现链表

因此,简单地获取现有类的快捷方式对于作业来说是错误的工具。如果您的任务是构建该程序,那么它(可能)将是完美的,但在这种情况下,该程序与您的任务正交,它可以为您真正被要求做的事情创建一个上下文:

实现您自己版本的
LinkedList
(尽管您可能不需要使其通用)

如果你对这种数据结构是如何工作的感到困惑,维基百科有一个很好的解释。毫无疑问,网上还有其他非常好的资源,可能在你的课本或其他资源中


此外,我想敦促你找一位同学来与我同行,根据我的经验,我可以说,我在编程生涯中遇到的大多数真正困难的问题(通常)都是通过有一位搭档来解决的。

实现链表并不是那么困难。我假设你们有一本教科书,它讨论了链表,仔细阅读。此外,您还希望与导师明确说明链接列表需要实现多少功能

基本上,您将从一个
节点
类开始,如果您不需要它是泛型的,那么您可以创建一个
停止节点
类。
节点
类的基础是对列表中下一个节点的引用,由于这是一个双链接列表,因此是对上一个节点的引用:

public class StopNode
{
    public StopNode Next { get; set; }
    public StopNode Previous { get; set; }
    // whatever other properties your stop class needs - such as name
}
现在,LinkedList类将管理停止节点的集合。它需要保留对第一个或“head”节点的引用,也可能是对最后一个节点(或“tail”)的引用

一个
public class StopNode
{
    public StopNode Next { get; set; }
    public StopNode Previous { get; set; }
    // whatever other properties your stop class needs - such as name
}
public class StopLinkedList
{
     private StopNode Head { get; }
     private StopNode Tail { get; }
}