没有合适的资源?快使用搜索试试~ 我知道了~
首页C#数据结构之堆栈(Stack)实例详解
本文实例讲述了C#数据结构之堆栈(Stack)。分享给大家供大家参考,具体如下: 堆栈(Stack)最明显的特征就是“先进后出”,本质上讲堆栈也是一种线性结构,符合线性结构的基本特点:即每个节点有且只有一个前驱节点和一个后续节点。 相对前面学习过的顺序表、链表不同的地方在于:Stack把所有操作限制在”只能在线性结构的某一端”进行,而不能在中间插入或删除元素。下面是示意图: 从示意图中可以看出,堆栈有二种实现方式:基于数组的顺序堆栈实现、类似链表的链式堆栈实现 先抽象堆栈的接口IStack: namespace 栈与队列 { public interface IStack<T> {
资源详情
资源评论
资源推荐

C#数据结构之堆栈数据结构之堆栈(Stack)实例详解实例详解
本文实例讲述了C#数据结构之堆栈(Stack)。分享给大家供大家参考,具体如下:
堆栈堆栈(Stack)最明显的特征就是最明显的特征就是“先进后出先进后出”,本质上讲堆栈也是一种线性结构,符合线性结构的基本特点:即每个节点有且只
有一个前驱节点和一个后续节点。
相对前面学习过的顺序表、链表不同的地方在于:Stack把所有操作限制在把所有操作限制在”只能在线性结构的某一端只能在线性结构的某一端”进行进行,而不能在中间插
入或删除元素。下面是示意图:
从示意图中可以看出,堆栈有二种实现方式:基于数组的顺序堆栈实现、类似链表的链式堆栈实现
先抽象堆栈的接口先抽象堆栈的接口IStack:
namespace 栈与队列
{
public interface IStack<T>
{
/// <summary>
/// 返回堆栈的实际元素个数
/// </summary>
/// <returns></returns>
int Count();
/// <summary>
/// 判断堆栈是否为空
/// </summary>
/// <returns></returns>
bool IsEmpty();
/// <summary>
/// 清空堆栈里的元素
/// </summary>
void Clear();
/// <summary>
/// 入栈:将元素压入堆栈中
/// </summary>
/// <param name="item"></param>
void Push(T item);
/// <summary>
/// 出栈:从堆栈顶取一个元素,并从堆栈中删除
/// </summary>
/// <returns></returns>
T Pop();
/// <summary>
/// 取堆栈顶部的元素(但不删除)
/// </summary>
/// <returns></returns>
T Peek();
}
}











安全验证
文档复制为VIP权益,开通VIP直接复制

评论0