您的位置:首页 > 理论基础 > 数据结构算法

数据结构实验 第二单元 栈操作

2015-12-18 12:12 381 查看
namespace Stack
{
/// <summary>
/// 链表形式的 栈
/// </summary>
internal class LinkStack
{
class Node
{
public object data;
public Node next;
}
Node linkedList;

public LinkStack()
{
Initial();
}
/// <summary>
/// 初始化栈
/// </summary>
public void Initial()
{

linkedList = new Node();
linkedList.next = null;
}
/// <summary>
/// 判断是否栈空
/// </summary>
/// <returns></returns>
public Boolean Empty()
{
if (linkedList.next == null)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 入栈
/// </summary>
/// <param name="obj"></param>
public void Push(object obj)
{
Node p = new Node();
p.data = obj;
p.next = linkedList.next;
linkedList.next = p;
}
/// <summary>
/// 出栈
/// </summary>
/// <returns></returns>
public object Pop()
{
Node top=linkedList.next;
if (top != null)
{
linkedList.next = top.next;
return top.data;
}
else
{
return null;
}

}
/// <summary>
/// 取栈顶元素
/// </summary>
/// <returns></returns>
public object Top()
{
Node top = linkedList.next;
if (top != null)
{
return top.data;
}
else
{
return null;
}
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: