110,536
社区成员
发帖
与我相关
我的任务
分享
public class MyQueue
{
public class Node
{
public Node(object data)
{
Data = data;
}
public Node NextNode = null;
public Node UpNode = null;
public object Data = null;
}
Node beginNode = null;
Node endNode = null;
public override string ToString()
{
return count.ToString();
}
int count = 0;
public int Count
{
get
{
return count;
}
set
{
count = value;
}
}
public Node Dequeue()
{
if (beginNode.NextNode == null && count>1)
{
return null;
}
Node Rerurn = beginNode;
if (Rerurn != null)
{
beginNode = beginNode.NextNode;
--count;
Rerurn.NextNode = null;
Rerurn.UpNode = null;
}
return Rerurn;
}
public void Enqueue(Node node)
{
if (beginNode == null)
{
beginNode = node;
endNode = node;
}
else
{
node.UpNode = endNode;
endNode.NextNode = node;
endNode = node;
endNode.NextNode = null;
}
++count;
}
}