using System; /**//// <summary> /// Class 的摘要说明。 /// </summary> public class Stack//栈类 ...{ private int count = 0; private Node first = null;//定义首结点 public bool Empty ...{ get ...{ return (first == null); } } public int Count ...{ get ...{ return count; } } public object Pop()//出栈 ...{ if (first == null) ...{ throw new InvalidOperationException("Can not pop from an empty stack;"); } else ...{ object temp = first.Value; first = first.Next; count--; return temp; } } public void push(object o)//入栈 ...{ first = new Node(o, first);//重点在 这里:第一次时first为null,第二次first就是第一次给的值。第三次就是第二次给的值。就是这样生成一条链 count++; } public Stack() ...{ // // TODO: 在此处添加构造函数逻辑 // } } class Node //结点类 ...{ public Node Next; public object Value; public Node(object value) : this(value, null) ...{ } public Node(object value, Node next) ...{ Next = next; Value = value; } }