当前位置:首页 > 网络编程 > 软件语言 > .NET > C#数据结构篇(二 堆栈)

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

点击次数:27 次 发布日期:2008-11-06 08:08:25 作者:源代码网
源代码网推荐
广告载入中
C#数据结构篇(二)堆栈


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

源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华