C#数据结构篇(二 堆栈)
点击次数:65 次 发布日期:2008-11-06 08:08:25 作者:源代码网
|
烟快没有了,别人都说烟有害,但对与我可是必不可少的,呵呵。。,抽一根烟程序就写出来了,好了,再加把劲,我们再完成堆栈,其实堆栈和线性表没什么大的区别,堆栈其实是一种特殊的线性表,使用Push 压输入数据,Pop 弹出数据,才用,先进后出的原则,就这么简单。前面已经写好了List 类,在这里我们可以调用它。代码如下: using System; namespace List { /// <summary> /// 堆栈类 /// </summary> public class CStack { //调用链表类 private Clist m_List; public CStack() { //构造函数 m_List=new Clist(); } /// <summary> /// 压入堆栈 /// </summary> public void Push(int PushValue) { //参数: int PushValue 压入堆栈的数据 m_List.Append (PushValue); } /// <summary> /// 弹出堆栈数据,如果为空,则取得 2147483647 为 int 的最大值; /// </summary> public int Pop() { //功能:弹出堆栈数据 int PopValue; if (!IsNullStack()) { //不为空堆栈 //移动到顶 MoveTop(); //取得弹出的数据 PopValue=GetCurrentValue(); //删除 Delete(); return PopValue; } // 空的时候为 int 类型的最大值 return 2147483647; } /// <summary> /// 判断是否为空的堆栈 /// </summary> public bool IsNullStack() { if ( m_List.IsNull() ) return true ; return false ; } /// <summary> /// 堆栈的个数 /// </summary> public int StackListCount { get { return m_List.ListCount ; } } /// <summary> /// 移动到堆栈的底部 /// </summary> public void MoveBottom() { m_List.MoveFrist (); } /// <summary> /// 移动到堆栈的Top /// </summary> public void MoveTop() { m_List.MoveLast (); } /// <summary> 源代码网推荐 源代码网供稿. |
