数据结构--栈和队列
2015-07-01 10:46
239 查看
栈和队列也是线性表,其特殊性在于它们的基本操作是线性表操作的子集,它们是操作受限制的线性表。
栈:限定只能在表尾(栈顶top)进行插入或删除操作的线性表。
应用:
数制转换
括号匹配的检验
行编辑程序
迷宫求解
表达式求值
栈与递归的实现
在高级语言编制的程序中,调用函数和被调用函数之间的链接以及信息交换需要通过栈来进行。
通常,一个函数在运行期间调用另一个函数时,在运行被调用函数之前,系统需要做三件事
将所有的实参、返回地址等信息传递给被调用函数保存
为被调用函数的局部变量分配存储区
将控制转移到被调用函数的入口
而从被调函数返回调用函数之前,系统也要完成三件事
保存被调函数的计算结果
释放被调函数的数据区
依照被调函数保存的返回地址将控制转移到调用函数
栈:限定只能在表尾(栈顶top)进行插入或删除操作的线性表。
应用:
数制转换
括号匹配的检验
行编辑程序
迷宫求解
表达式求值
栈与递归的实现
在高级语言编制的程序中,调用函数和被调用函数之间的链接以及信息交换需要通过栈来进行。
通常,一个函数在运行期间调用另一个函数时,在运行被调用函数之前,系统需要做三件事
将所有的实参、返回地址等信息传递给被调用函数保存
为被调用函数的局部变量分配存储区
将控制转移到被调用函数的入口
而从被调函数返回调用函数之前,系统也要完成三件事
保存被调函数的计算结果
释放被调函数的数据区
依照被调函数保存的返回地址将控制转移到调用函数
相关文章推荐
- 《数据结构与算法分析c++描述》读书笔记四——伸展树、b+树
- 数据结构--二叉堆、d堆、左式堆和斜堆
- 数据结构基础温故-1.线性表(中)
- 常见数据结构算法边学边记
- 数据结构-中序转后序
- sizzle.js学习笔记利用闭包模拟实现数据结构:字典(Map)
- 【数据结构】链表
- get(index) set(index value), setAll(value)都为O(1)的数据结构
- 数据结构的基本概念
- 数据结构常见面试题
- java 数据结构
- 数据结构链表的操作集合(建立,遍历,插入,删除,排序,长度,空判断等)
- 数据结构顺序表的操作全集(创建,遍历,插入,删除,排序等等)
- swift篇第一期:简单的数据结构
- 大话数据机构——第一张 数据结构绪论
- 经典算法研究系列:五、红黑树算法的实现与剖析
- 《数据结构与算法分析c++描述》读书笔记三——AVL树
- 《数据结构与算法分析c++描述》读书笔记一——表
- 数据结构和算法第一章
- 数据结构和算法系列 - AVL树