3.数据结构与算法--栈(顺序存储结构)

本文详细介绍了栈这种数据结构,特别是其顺序存储结构。内容包括栈的定义、存储结构、创建空栈、入栈、出栈操作,以及如何清空和销毁栈。此外,还探讨了栈的实际应用,如浏览器的后退功能和Word的撤销操作。通过代码分析,解释了栈的动态扩容和数据存储方式。
摘要由CSDN通过智能技术生成

1.栈的基本概念:

1.1栈的基本概念

1.1.1栈定义

栈是一种线性表,只能从一端访问的线性群体(即:栈只能从一端插入数据,从同一端删除数据),是一种先进后出的数据结构。栈的应用:在浏览器上,点击一次后退,都是退回到最近一次浏览页面。 word 中的撤销功能也是如此。放入数据:入栈(压入栈 , push),取出数据:出栈(弹出栈,pop)。表尾称为栈顶(stackTop), 表头称为栈底(bottom)

1.1.2栈的存储结构(分为两种存储结构:顺序存储结构(本文)  和  链式存储结构)

空栈,及栈的运行规则

 空栈时, 栈的top=栈的base,即栈顶=栈底

栈的结构示意图

  入栈一个字符,top指针就向下移动一个位置

栈的代码结构与链表节点不同的是:栈是一口气申请一大块内存,在top栈顶指针所指向的地址存放数据data。而节点则是有一个单独的数据域用来存放数据data,并用next指针域来索引下一个节点)

 

1.2创建一个空栈

思路:

  1. 先确定栈中元素的个数
  2. 为栈申请一块空间
  3. 将栈的top指针赋值为栈的base指针,
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值