C#数据结构篇(二 堆栈)

王朝c#·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

C#数据结构篇(二)堆栈

作者: 寒羽狼 (Dark_Slaer_Tang)

烟快没有了,别人都说烟有害,但对与我可是必不可少的,呵呵。。,抽一根烟程序就写出来了,好了,再加把劲,我们再完成堆栈,其实堆栈和线性表没什么大的区别,堆栈其实是一种特殊的线性表,使用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>

/// 向上移动

/// </summary>

public void MoveUp()

{

m_List.MoveNext();

}

/// <summary>

/// 向上移动

/// </summary>

public void MoveDown()

{

m_List.MovePrevious() ;

}

/// <summary>

/// 取得当前的值

/// </summary>

public int GetCurrentValue()

{

return m_List.GetCurrentValue ();

}

/// <summary>

/// 删除取得当前的结点

/// </summary>

public void Delete()

{

m_List.Delete ();

}

/// <summary>

/// 清空堆栈

/// </summary>

public void Clear()

{

m_List.Clear();

}

}

}

使用先前的链表类,就可以轻松的完成堆栈类,除了基本的,Pop,Push 方法外,还提供,MoveBottom,MoveTop,MoveUp,MoveDown ,来访问堆栈中的数据,使用GetCurrentValue方法,来取得数据的值,可以执行更多的操作,呵呵,就这么简单。To Be Continue.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航