栈与队列

栈与队列

栈是一种很常用的数据结构,是一个 只能在一端进行插入和删除操作 的线性表。

栈的一些基本概念

  • 栈顶:线性表允许进行操作的一端
  • 栈底:线性表不允许操作的一段
  • 后进先出:栈中元素的入栈和出栈操作是符合后进先出规则的,如下图1

栈的基本操作

一般的栈都会用到如下操作,这里列出的操作也会在后面直接以简称的形式出现~

  • 初始化空栈: initStack()
  • 判断栈是否为空: isEmpty()
  • 入栈: push()
  • 出栈: pop()
  • 读取栈顶元素: getTop()

栈的顺序存储结构

一般情况下,栈中元素占据连续的物理空间,在不同语言的实现中,栈顶指针可能始终指向栈顶的元素,也可能指向栈顶元素的下一个元素,此时判断空栈/满栈的条件要进行灵活的调节。

// 栈顶指针始终指向栈顶的元素
function isEmpty(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值