程序设计中的Stack详解计算机C资料_计算机-C++资料.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《程序设计中的Stack详解计算机C资料_计算机-C++资料.pdf》由会员分享,可在线阅读,更多相关《程序设计中的Stack详解计算机C资料_计算机-C++资料.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Stack的三种含义 作者:阮一峰 学习编程的时候,经常会看到stack这个词,它的中文名字叫做栈.理解这个概念,对于理解程序的运行至关重要容易混淆的是,这个词其实有 三种含义,适用于不同的场合,必须加以区分.含义一:数据结构 stack的第一种含义是一组数据的存放方式,特点为LIFO,即后进先出(Last in,first out)在这种数据结构中,数据像积木那样一层层堆起来,后面加入的数据就放在最 上层使用的时候,最上层的数据第一个被用掉,这就叫做后进先岀.与这种结构配套的,是一些特定的方法,主要为下面这些.push:在最顶层加入数据.:返回并移除最顶层的数据pop?.:返回最顶层数据的
2、值,但不移除它top?.:返回一个布尔值,表示当前stack是否为空栈isempty?含义二:代码运行 方式 stack的第二种含义是调用栈(call stack),表示函数或子例程像堆.积木一样存放,以实现层层调用.下面以一段JdVd代码为例(来源).class Student int age:String name;public Student int Aga String Name this.age=Age;setName Name public void setName String Name this.name=Name;public class Main public static
3、 void main;String args Student s;s=new Student 23,lonh11);上面这段代码运行的时候,首先调用main方法,里面需要生成一个Student 的实例,于是乂调用Student构造函数在构造函数中,乂调用到setName方法.这三次调用像积木一样堆起来,就叫做调用栈程序运行的时候,总是先完成 最上层的调用,然后将它的值返回到下一层调用,直至完成整个调用栈,返回最 后的结果.含义三:内存区域 stack的第三种含义是存放数据的一种内存区域程序运行的时候,需要内存 空间存放数据一般来说,系统会划分出两种不同的内存空间:一种叫做stack (栈),另
4、一种叫做heap(堆)它们的主要区别是:stack是有结构的,每个区块按照一定次序存放,可以明 确知道每个区块的大小;heap是没有结构的,数据可以任意存放因此,stackprogram start(23!1 John11);至关重要容易混淆的是这个词其实有三种含义适用于不同的场合必须加以区分含义一数据结构的第一种含义是一组数据的存放方式特点为即后进先出在这种数据结构中数据像积木那样一层层堆起来后面加入的数据就放在最上层使用层加入数据返回并移除最顶层的数据返回最顶层数据的值但不移除它返回一个布尔值表示前是否为空栈含义二代码运行方式的第二种含义是调用栈表示函数或子例程像堆积木一样存放以实现层层调
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 中的 Stack 详解 计算机 资料 C+
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内