public override void Remove(Node node) { if (stack != null) { NodeWrapper item = stack; while (item.Next != null) { if (item.Next.Node == node) { item.Next = item.Next.Next; } else { item = item.Next; } } if (stack.Node == node) { stack = stack.Next; } } }
public NodeWrapper(Node node, object data) { this.node = node; this.data = data; next = null; }
public override void Get(out Node node, out object data) { node = stack.Node; data = stack.Data; stack = stack.Next; }
public override void Remove(Node node) { if (stack != null) { NodeWrapper item = stack; while (item.Next != null) { if (item.Next.Node == node) item.Next = item.Next.Next; else item = item.Next; } if (stack.Node == node) stack = stack.Next; } }
public override void Add(Node node, object data) { NodeWrapper head = new NodeWrapper(node,data); head.Next = stack; stack = head; }
public override void Remove(Node node) { if (first != null) { NodeWrapper item = first; while (item.Next != null) { if (item.Next.Node == node) item.Next = item.Next.Next; else item = item.Next; } last = item; if (first.Node == node) { first = first.Next; if (first == null) last = null; } } }
public override void Get(out Node node, out object data) { node = first.Node; data = first.Data; first = first.Next; if (first == null) last = null; }
public override void Add(Node node, object data) { NodeWrapper tail = new NodeWrapper(node,data); if (last == null) first = last = tail; else last = last.Next = tail; }