数据结构笔记 03 - 链式栈

数据结构笔记 03 - 链式栈

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

内容提要

栈是一种后进先出的线性表,可以用数组或链表表示。链表可以视为链栈,节点包括指向下一个节点的指针和数据域。栈的操作包括创建、释放、入栈、出栈和清空。

🎯

关键要点

  • 栈是一种后进先出的线性表,称为栈顶。
  • 栈的主要操作包括入栈(push)和出栈(pop)。
  • 栈可以用数组表示(顺序栈)或链表表示(链式栈)。
  • 链栈的节点包括指向下一个节点的指针和数据域,维护一个top指针。
  • 栈节点的结构体定义包括指向下一个节点的指针和数据域。
  • 栈的结构体定义包括top指针和长度。
  • 栈的操作函数包括创建、释放、入栈、出栈和清空,复杂度各异。
  • 创建栈时分配内存并初始化top指针和长度。
  • 入栈时创建新节点并更新栈顶指针和长度。
  • 出栈时保存栈顶节点数据,更新栈顶指针并释放节点。
  • 清空栈时遍历所有节点并释放内存。
  • 释放栈时先清空栈再释放栈本身的内存。
  • 在main函数中测试栈的功能,包括入栈、出栈和清空操作。
➡️

继续阅读