上一篇介绍了顺序栈,今天介绍的是栈的另一种形式。链栈可以看作是单链表的简化,链栈和单链表的结构是相同的,因为链栈只在一端进行操作,所以为了方便,栈顶被设在的链表的头部,并且没有头结点。
这里我画个图说明

上表展示的是单链表和链栈添加数据的方式,单链表的添加数据是往表尾进行放置,但是栈链添加数据的方式是直接添加到表头也就是栈顶,
链栈的实现
1、定义结构
/// <summary>
/// 栈的接口 栈的实现方式也分两种,顺序栈和链栈
/// </summary>
/// <typeparam name="T"></typeparam>
interface IStackDs<T>
{
int Count { get; }
int GetLength();
bool IsEnpty();
void Clear();
void Push(T item);//入栈
T Pop();//出栈(删除数据)
T Peek();//取栈顶元素
}
2.定义节点
节点就是链栈用来储存数据和引用的容器
/// <summary>
/// 链栈的节点
/// </summary>
/// <typeparam name="T"></typeparam>
class Node<T>
{

本文主要讲解了链栈的概念,它是单链表的简化形式,仅在一端进行操作,栈顶位于链表头部。内容包括链栈的结构、如何实现链栈(定义结构、定义节点、实现接口)以及测试链栈的方法,旨在帮助读者更好地理解和应用链栈。
最低0.47元/天 解锁文章
1390

被折叠的 条评论
为什么被折叠?



