【面试准备】数据结构(二)栈和队列

顺序栈的定义
顺序栈是用顺序存储结构实现的栈,类似顺序表的定义,由于栈操作的特殊性,还要设定一个整型的top指针,用它来指示当前栈顶的位置。当数据入栈时,使整型变量top+1,数据出栈时top-1。

  1. 数据域data是一个一维数组存放顺序栈的数组元素
  2. MAXSIZE是数组data能容纳元素的最大值,也称顺序栈的容量
  3. top是顺序栈中最后一个元素的下标位置,而top + 1为顺序栈长度
  4. 当顺序栈为空时,top = -1,其顺序栈长度为0
  5. 非空时,其长度为top + 1,如果top + 1的值等于MAXSIZE,则栈为满。
  6. elemtype是顺序栈数据元素的类型,视具体应用情况而定,如果顺序栈是英文字母表,则elemtype就是字符型,如果顺序栈是学生成绩表,则elemtype就是学生成绩的结构类型。

顺序栈的基本运算

  1. 顺序栈的初始化
  2. 判栈空
  3. 判栈满
  4. 求顺序栈的长度
  5. 入栈
  6. 出栈
  7. 读取栈顶数据

链栈
采用链式储存结构实现的栈成为链栈,链栈通常通过单链表来实现,因此其结构与单链表的结构相同,由于栈的插入和删除操作仅限制在栈顶位置进行,所以采用单链表的表头作为栈顶指针,同时,为了操作方便,使用带头结点的单链表来实现链栈,数据入栈或者出栈时,使表头结点的指针指向新的表头结点即可。在入栈时,需要为新的数据元素动态开辟存储单元,并修改头结点的指针域&#

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值