怎么理解栈结构?举一个简单的例子,你往一个盒子你放东西,先放的东西肯定是在上面,你要取的话只能从上面一件一件的拿出来,然后才可以拿到最底部的东西。
namespace ConsoleTest
{
public class Stack
{
Entry top;
public void Push(object data)
{
//将top置顶,并把旧的top保存在next中。
top = new Entry(top, data);
}
public object Pop()
{
if (top == null)
{
throw new InvalidOperationException();
}
object result = top.data;
top = top.next;
return result;
}
class Entry
{
public Entry next;
public object data;
public Entry(Entry next, object data)
{
this.next = next;
this.data = data;
}
}
}
}