堆棧是一種後進先出的數據結構,在某些程序設計中經常用到。堆棧只能取得棧頂元素、壓棧、出棧 、取得棧內元素數量及判斷是否為空等操作。
堆棧可以用順序表、鏈表實現,有了前面順序表及鏈表,堆棧實現非常簡單,這裡用單鏈表實現。
1.實現代碼
/*
* File : Stack.cs
* Author : Zhenxing Zhou
* Date : 2008-12-07
* Blog : http://www.xianfen.Net/
*/
namespace Xianfen.Net.DataStructure
{
public class Stack<T>
{
protected SingleLinkedList<T> m_List;
public int Count
{
get { return m_List.Count; }
}
public bool IsEmpty
{
get { return m_List.IsEmpty; }
}
public Stack()
{
m_List = new SingleLinkedList<T>();
}
public Stack(T t)
{
m_List = new SingleLinkedList<T>(t);
}
public T Pop()
{
T t = m_List.GetTail();
m_List.RemoveTail();
return t;
}
public T Top()
{
return m_List.GetTail();
}
public void Push(T t)
{
m_List.AddTail(t);
}
}
}