在c#中尝试将节点添加到队列时不能使用.Next

Pro*_*kie 0 c# queue

尝试在C#中添加和删除队列中的节点.但是,当尝试使用时,front.Next我得到一个编译器错误,该定义未包含在内.

class Queue<T>
{
    int count = 0;
    Node<T> front = null;
    Node<T> end = null;

    public void Enqueue(T obj)
    {
        if (count == 0)
        {
            front = new Node<T>(obj);
        }
        else 
        {
            Node<T> newEnd = new Node<T>(obj);
            newEnd.Next = end;
            count++;
            end = newEnd;
        }
    }

    public T Dequeue(T obj)
    {
        Node<T> newFront = new Node<T>(obj);
        newFront = front.Next;
        count--;
        front = newFront;
        return front;
    }
}
Run Code Online (Sandbox Code Playgroud)

mat*_*mmo 5

不确定为什么要尝试Queue在.NET中重新创建现有的集合?

但要回答你的问题,你Next在对象中缺少一个方法,因此编译器告诉你它无法找到Next.

你应该考虑使用现有的Queue.

  • 即使它是家庭作业,也可以在SO上提问/回答.只是不要写一个复制/粘贴就绪的解决方案,就是这样. (2认同)