就是说先建一个堆栈
用push方法写,用pop读这个是先进先出的就是说Push(1);
Push(2);
Push(3);
Pop(); //这时返回1
Pop(); //这时返回2
Pop(); //这时返回3
Pop(); //没数据,错误
用push方法写,用pop读这个是先进先出的就是说Push(1);
Push(2);
Push(3);
Pop(); //这时返回1
Pop(); //这时返回2
Pop(); //这时返回3
Pop(); //没数据,错误
这不就是可堆栈吗?
你去看看<<数据结构(第二版)>>!!!!
清华出版的!!!
public class Stack
{
private Node first = null; //基地址public bool Empty {
get {
return (first == null); //栈空
}
} public object Pop() { //弹栈操作
if (first == null) //栈为空
throw new Exception("Can't Pop from an empty Stack.");//异常处理
else { //移动SP
object temp = first.Value;
first = first.Next;
return temp;
}
} public void Push(object o) {//压栈操作
first = new Node(o, first); //将Node放入
} 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;
}
}
} class Test //测试
{
static void Main() {
Stack s = new Stack();//建栈 for (int i = 0; i < 10; i++)
s.Push(i); //填10个数进去s = null; //清空栈
}
}