创建一个对象都在内存中做了什么事情? 1:先将硬盘上指定位置的Person.class文件加载进内存。 2:执行main方法时,在栈内存中开辟了main方法的空间(压栈-进栈),然后在main方法的栈区分配了一个变量p。 3:在堆内存中开辟一个实体空间,分配了一个内存首地址值。new 4:在该实体空 ...
分类:
其他好文 时间:
2017-05-15 00:36:30
阅读次数:
223
先建立一个结构体节点: typedef struct Node{ int member; struct Node *pNext; }Node,*pNode; 创建一个栈: typedef struct stack{ pNode Top; pNode Bot; }Stack,*pStack; //初始 ...
分类:
其他好文 时间:
2017-05-13 22:10:13
阅读次数:
210
栈是限制插入和删除仅仅能在一个位置上进行的表。该位置是表的末端,叫做栈的顶top。对栈的基本操作有进栈push和出栈pop,前者相当于插入。后者这是删除最后插入的元素。栈有时又叫先进先出FIFO表。 因为栈操作是常数时间。因此除非在特殊情况下,栈不会产生明显改进。栈的第一种实现方法是使用单链表。通过 ...
分类:
编程语言 时间:
2017-05-05 21:01:16
阅读次数:
234
题目链接 按序列a进栈,问能不能按序列b出栈。 遍历b,如果当前元素进过栈了,那么必须和栈顶元素相同。如果没进过栈则按a序列压栈,直到遇到当前元素。 ...
分类:
其他好文 时间:
2017-05-02 19:48:14
阅读次数:
166
题目描述 给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。 方法一 拿到题目第一反应就是用堆栈,先将字符串各个字符入栈,然后进栈中的元素全部出栈并构成一个字符串,如果前后两个字符串相同,则代表该字符串是回文。 方法二 后来翻题后讨论,发现了一种更巧妙的方法 ...
分类:
其他好文 时间:
2017-04-23 20:44:25
阅读次数:
214
·对于数字:进栈 ·对于符号: ·从栈中弹出右操作数 ·从栈中弹出左操作数 ·依据符号进行运算 ·将运算结果压入栈中 ·遍历结果:栈中唯一的数字为结果 伪算法 int compute (const char * exp) { 创建栈 int i = 0; While (exp[i] != ‘\0’) ...
分类:
编程语言 时间:
2017-04-13 08:47:00
阅读次数:
225
为了解释后缀表达式的好处,我们先来看看,计算机如何应用后缀表达式计算出最终的结果20的。 后缀表达式:9 3 1-3*+ 10 2/+ 规则:从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。 规则:从左到右遍历表 ...
分类:
其他好文 时间:
2017-04-11 13:27:20
阅读次数:
258
栈的定义 栈是一种限定的线性表 比喻:装羽毛球的盒子, 栈抽象数据类型 栈的分类 1 顺序栈 2多栈共享技术 3 链栈 4 多栈运算 3.1,顺序栈的定义: 自己的理解:不是动态的,比较死; 3.1.1进栈 注意点:要判断是否满. 比喻:如果羽毛球盒子满了怎么可能在装?! 3.1.2出栈 注意:要判 ...
分类:
其他好文 时间:
2017-04-09 23:41:16
阅读次数:
240
题目描述 Description 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。 栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈)。 栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没 ...
分类:
其他好文 时间:
2017-04-06 00:12:51
阅读次数:
276
1627: 出栈序列统计 题目描述 栈是常用的一种数据结构,有n令元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两·种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出。现在要使用这两种操作,由一个操作序列可以得到一系列的输出序列。请你编程求出对于给定的n,计算并 ...
分类:
其他好文 时间:
2017-04-05 23:52:05
阅读次数:
231