C# 堆栈的数据结构 (二)
堆栈是一种常用的数据结构,并且是线性表操作的子集,即操作受限的线性表。因此需要用到Clist 线性表类
public class CStack
{
private Clist m_List;//创建链表对象实例
//构造函数
public CStack()
{
m_List=new Clist();
}
//压入堆栈
public void Push(int PushValue)
{
m_List.Append(PushValue);//参数:int PushValue 压入堆栈的数据
}
//弹出堆栈数据,如果为空,则取2147483647为int的最大值
public int Pop()
{
// 功能:弹出堆栈数据
int PopValue;
if (!IsNullStack())
{
//不为空堆栈
//移动到顶
MoveTop();
//取得弹出的数据
PopValue = GetCurrentValue();
//删除
Delete();
return PopValue;
}
//空的时候为int 类型的最大值
return ;
}
//判断是否为空的堆栈
public bool IsNullStack()
{
if (m_List.IsNull())
{
return true;
}
return false;
}
//堆栈的个数
public int StackListCount
{
get { return m_List.ListCount; }
}
//移动到堆栈的底部
public void MoveBottom()
{
m_List.MoveFrist();
}
//移动到堆栈的顶部
public void MoveTop()
{
m_List.MoveLast();
}
//向上移动
public void MoveUp()
{
m_List.MoveNext();
}
//向下移动
public void MoveDown()
{
m_List.MovePrevious();
}
//取得当前的值
public int GetCurrentValue()
{
return m_List.GetCurrentValue();
}
//删除取得当前的结点
public void Delete()
{
m_List.Delete();
}
//清空堆栈
public void Clear()
{
m_List.Clear();
}
}
C# 堆栈的数据结构 (二)的更多相关文章
- 学习javascript数据结构(二)——链表
前言 人生总是直向前行走,从不留下什么. 原文地址:学习javascript数据结构(二)--链表 博主博客地址:Damonare的个人博客 正文 链表简介 上一篇博客-学习javascript数据结 ...
- POJ 2010 - Moo University - Financial Aid 初探数据结构 二叉堆
考虑到数据结构短板严重,从计算几何换换口味= = 二叉堆 简介 堆总保持每个节点小于(大于)父亲节点.这样的堆被称作大根堆(小根堆). 顾名思义,大根堆的数根是堆内的最大元素. 堆的意义在于能快速O( ...
- 算法与数据结构(二) 栈与队列的线性和链式表示(Swift版)
数据结构中的栈与队列还是经常使用的,栈与队列其实就是线性表的一种应用.因为线性队列分为顺序存储和链式存储,所以栈可以分为链栈和顺序栈,队列也可分为顺序队列和链队列.本篇博客其实就是<数据结构之线 ...
- 数据结构-二叉搜索树(BST binary search tree)
本文由@呆代待殆原创,转载请注明出处:http://www.cnblogs.com/coffeeSS/ 二叉搜索树简介 顾名思义,二叉搜索树是以一棵二叉树来组织的,这样的一棵树可以用一个链表数据结构来 ...
- 数据结构-二叉搜索树的js实现
一.树的相关概念 1.基本概念 子树 一个子树由一个节点和它的后代构成. 节点的度 节点所拥有的子树的个数. 树的度 树中各节点度的最大值 节点的深度 节点的深度等于祖先节点的数量 树的高度 树的高度 ...
- 数据结构☞二叉搜索树BST
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它可以是一棵空树,也可以是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值: 若它 ...
- R语言数据结构二
上节我们讲到R语言中的基本数据类型,包括数值型,复数型,字符型,逻辑型以及对应的操作和不同数值类型之间的转换.众所周知,R语言的优势在于进行数据挖掘,大数据处理等方面,因此单个的数据并不能满足我们的需 ...
- 基本数据结构 —— 二叉搜索树(C++实现)
目录 什么是二叉搜索树 二叉搜索树如何储存数值 二叉搜索树的操作 插入一个数值 查询是否包含某个数值 删除某个数值 测试代码 参考资料 什么是二叉搜索树 二叉搜索树(英语:Binary Search ...
- 数据结构(二) 树Tree
五.树 树的定义 树的逻辑表示:树形表示法.文氏图表示法.凹入表示法.括号表示法. 结点:表示树中的元素,包括数据项及若干指向其子树的分支. 结点的度:结点拥有的子树树:树的度:一 ...
随机推荐
- Memcache 在win7x64中安装配置
Memcached从0.2.0开始,要求PHP版本大于等于5.2.0. 环境:phpstudy集成环境 目标:实现php用memcache 下载:memcache for win 64 http:// ...
- 简便数据库——ORMLite框架
一.创建DataBase //使用 Singleton 避免產生多個實例(instance),要注意 thread safe 這邊使用雙重鎖定(Double-checked locking) 使用 T ...
- Redis 数据库的安装
安装redis真的是简单到不行了,三条命令就可以完成. 1.下载redis: 001.http://redis.io/ 002.也可以在我的网盘下载https://yunpan.cn/crSUX6aS ...
- 如何让旧版IE浏览器认识HTML5元素
<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js" ...
- WSImport
http://www.cnblogs.com/simle/archive/2011/11/03/2233417.html
- c语言_常见图片格式判断
c语言_常见图片格式判断 我想尽各种思路.今天,终于把图片判断搞定了. 在此,我写一下我的思路.希望对那些不想看代码的朋友们有帮助. 常风的的图片格式有:bmp,png,jpg,gif等图片格式. 我 ...
- Java琐碎知识点
jps命令是JDK1.5提供的一条显示当前用户的所有java进程pid的指令,类似Linux上的ps命令简化版,Windows和linux/unix平台都可以用比较常用的参数:-q:只显示pid,不显 ...
- Dollar Dayz(大数母函数,高低位存取)
Dollar Dayz Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5655 Accepted: 2125 Descr ...
- BZOJ 3181([Coci2012]BROJ-最小质因子为p的第k小素数)
3181: [Coci2012]BROJ Time Limit: 10 Sec Memory Limit: 64 MB Submit: 26 Solved: 7 [ Submit][ Stat ...
- C语言高速入口系列(七)
C语言高速入口系列(七) C语言指针进阶 本章引言: 在前面第5节中我们对C语言的指针进行了初步的学习理解;作为C语言的灵魂, C指针肯定没那么简单,在这一节中,我们将会对指针进行进一步的学习,比方二 ...