赞
踩
1、前言
栈是一个种线性结构,非常重要。遵循“先入后出”的有序列表栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入、删除的一端,为变化的一端,称为栈顶(Top),另一端为固定一端,称为栈底(Bottom)。
2、栈应用场景
1)子程序的调用:在跳往子程序前,会先将下一个指令的地址存到堆栈中,直到子程序执行完后再将地址取出,以回到原来的程序中。2)处理递归调用:和子程序的调用类似,只是除了储存下一个指令的地址外,也将参数、区域变量等数据存入堆栈中。3)表达式的转换[中缀表达式转后缀表达式]与求值。4)二叉树的遍历5)图形的深度优先(depth-first)搜索法
3、实现栈的思路分析
1)这里我们使用数组类模拟栈
2)定义一个top来表示栈顶,初始化为-1
3)入栈的操作,当有数据打入到栈时,top++;stack[top]=data;
4)出栈的操作,intvalue=stack[top];top–,return value
4、栈堆抽象类型定义及基本操作
基本操作:
(1)getSize():获取栈的元素个数
如何获取栈元素个数,大家都知道栈当top=0时,栈存在一个元素,那么获取栈元素个数就直接返回top即可获取
(2)isEmpty():判断栈是否为空
栈如何为空,若存储栈的长度为stackSize,那么栈的顶位置to
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。