数据结构笔记 03 - 链式栈

数据结构笔记 03 - 链式栈

💡 原文中文,约2600字,阅读约需7分钟。
📝

内容提要

栈是一种后进先出的线性表,栈顶有特殊含义。链栈使用链表表示,包含指向下一个节点的指针和数据。栈的操作包括创建、释放、入栈、出栈和释放所有节点。主函数中进行栈的测试。

🎯

关键要点

  • 栈是一种后进先出的线性表,栈顶有特殊含义。

  • 栈的主要操作包括入栈(push)和出栈(pop)。

  • 栈可以用数组表示(顺序栈)或用链表表示(链式栈)。

  • 链栈使用单链表实现,维护一个指向栈顶的指针。

  • 栈节点的结构体包含指向下一个节点的指针和数据。

  • 栈的操作函数包括创建、释放、入栈、出栈和释放所有节点。

  • 创建链式栈的复杂度为O(1),释放栈和节点的复杂度为O(N),入栈和出栈的复杂度为O(1)。

  • 在入栈时,创建新节点并更新栈顶指针,栈的高度增加。

  • 在出栈时,保存栈顶节点指针,更新栈顶指针并释放节点,栈的高度减少。

  • 释放栈时,先释放所有节点,再释放栈本身。

  • 主函数中对栈进行了测试,包括入栈、出栈和释放操作。

➡️

继续阅读