0

尝试在 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;
    }
}
4

2 回答 2

5

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

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

不过,您确实应该考虑使用现有的Queue课程

于 2013-01-29T13:05:38.920 回答
0

根据您的评论,您会收到编译错误,因为您编写了一个Node<T>未实现Next属性的类。

编译器给出的错误信息是否以某种方式令人困惑?

于 2013-01-29T13:19:31.733 回答