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;
}
}
/**/ /// <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;
}
}