关于“堆栈”
2010-09-25 20:46
288 查看
堆栈是一个在计算机科学中经常使用的抽象数据类型。堆栈中的物体具有一个特性: 最后一个放入堆栈中的物体总是被最先拿出来, 这个特性通常称为后进先处(LIFO)队列. 堆栈中定义了一些操作. 两个最重要的是PUSH和POP。 PUSH操作在堆栈的顶部加入一个元素。POP操作相反, 在堆栈顶部移去一个元素, 并将堆栈的大小减一。
为什么使用堆栈?
现代计算机被设计成能够理解人们头脑中的高级语言。 在使用高级语言构造程序时 最重要的技术是过程(procedure)和函数(function)。 从这一点来看, 一个过程调用可 以象跳转(jump)命令那样改变程序的控制流程, 但是与跳转不同的是, 当工作完成时, 函数把控制权返回给调用之后的语句或指令。 这种高级抽象实现起来要靠堆栈的帮助。 堆栈也用于给函数中使用的局部变量动态分配空间, 同样给函数传递参数和函数返 回值也要用到堆栈。
为什么使用堆栈?
现代计算机被设计成能够理解人们头脑中的高级语言。 在使用高级语言构造程序时 最重要的技术是过程(procedure)和函数(function)。 从这一点来看, 一个过程调用可 以象跳转(jump)命令那样改变程序的控制流程, 但是与跳转不同的是, 当工作完成时, 函数把控制权返回给调用之后的语句或指令。 这种高级抽象实现起来要靠堆栈的帮助。 堆栈也用于给函数中使用的局部变量动态分配空间, 同样给函数传递参数和函数返 回值也要用到堆栈。
相关文章推荐
- 关于子进程中的exit-----子进程中使用exit对于子进程复制父进程数据段、堆栈的影响
- 关于ARM堆栈的一些问题
- 关于JAVA堆栈的认识【转】
- 【Qt开发】关于Qt应用程序中的堆栈、静态存储区的使用错误
- linux中关于创建子进程系统堆栈的分析
- 单片机编程中关于堆栈的一些问题
- ATPCS关于堆栈和寄存器的使用规则
- 《Java数据结构》关于堆栈的两种不同实现:
- 关于文件系统设备堆栈的说明
- 关于java堆栈的理解
- C++程序中关于堆栈程序的简单理解
- 关于堆栈
- F#学习存疑求解答:关于使用Cotinuation仍然堆栈溢出的问题
- 关于堆栈与队列使用的小思考(1)
- 转载一篇关于堆栈的好文章
- 关于堆栈生长方向的疑问?
- 关于堆栈
- 关于irp堆栈
- 关于堆栈
- 【转】关于堆栈和堆的概念(VC知识库)