C#数据结构之堆栈(Stack)实例详解

本文实例讲述了C#数据结构之堆栈(Stack)。分享给大家供大家参考,具体如下: 堆栈(Stack)最明显的特征就是“先进后出”,本质上讲堆栈也是一种线性结构,符合线性结构的基本特点:即每个节点有且只有一个前驱节点和一个后续节点。 相对前面学习过的顺序表、链表不同的地方在于:Stack把所有操作限制在"只能在线性结构的某一端"进行,而不能在中间插入或删除元素。下面是示意图: 从示意图中可以看出,堆栈有二种实现方式:基于数组的顺序堆栈实现、类似链表的链式堆栈实现 先抽象堆栈的接口IStack: 顺序堆栈(SeqStack)的实现: 链式堆栈(LinkStack)的实现 先定义节点Node.cs 下面是LinkStack.cs 测试代码片段: 注: .Net中System.Collections.Generic.Stack<T>已经提供了堆栈的基本实现,明白原理后,仍然推荐大家使用内置的实现。 希望本文所述对大家C#程序设计有所帮助。 您可能感兴趣的文章:C#使用Stack类进行堆栈设计详解C#中泛型容器Stack<T>的用法并实现”撤销/重做”功能C#中的队列Queue<T>与堆栈Stack<T>C#创建安全的栈(Stack)存储结构C#使用foreach语句遍历堆栈(Stack)的方法C#使用Stack<T>进行堆栈设计的实现