码迷,mamicode.com
首页 >  
搜索关键字:出栈    ( 1670个结果
Stack::定义
借助Vector实现栈,栈顶是向量末尾,栈底是向量起始:#include "../Vector/Vector.h" //以向量为基类,派生出栈模板类 template class Stack: public Vector { //将向量的首/末端作为栈底/顶 public: //size()、empty()以及其它开放接口,均可直接沿用 void push(T...
分类:其他好文   时间:2015-05-29 15:48:14    阅读次数:124
第四章 栈与队列
一、栈的定义 栈(stack)是限定尽在表尾进行插入和删除操作的线性表。 我们把允许插入和删除的一端成为栈顶(top),另一端成为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(LIFO)的线性表。 图示出栈入栈操作:   二、栈的抽象数据类型 图示栈的各项操作: 由于栈本身就是一个线性表,那么上一章我们讨论了线性表的顺序存储和链式存储,对于栈来说也是同...
分类:其他好文   时间:2015-05-29 12:02:15    阅读次数:172
深入了解JVM垃圾收集器
程序计数器、JVM栈、本地方法栈这三个内存区域和线程是一一对应的,并且每一个线程的这三个区域相互独立互不干扰。他们都随着线程的产生而产生,线程的灭亡而灭亡。JVM栈和本地方法栈中的栈帧都随着方法的加载而入栈,随着方法的结束而出栈。栈帧的大小是在程序员写类的时候就确定下来的。因此这三种区域的内存大小都具备确定性,当方法结束或线程结束后,这些内存空间就会自动被回收掉,所以JVM无需考虑这些区域的内存回收...
分类:其他好文   时间:2015-05-29 10:11:00    阅读次数:116
用数组写出栈(先进后出)
//用数组写出栈(先进后出) import java.util.Collection; import java.util.NoSuchElementException; public class ArrayStack { private int initalSize = 5; private Object[] stack; private int head; private int tai...
分类:编程语言   时间:2015-05-28 21:38:59    阅读次数:162
用两个队列实现栈
【要求】用两个队列queue1,queue2来实现栈的压栈和出栈功能。【分析】此问题类似于用两个栈实现队列的功能的思路,将队列queue1作为入栈专职,queue2作为中转,主要思路是,压栈时将所有元素全部进队queue1,出栈时由于要将queue1最后一个进来的元素输出,所以先将queue1除最后一个元素以外的所有元素转到queue2,出队输出最后一个元素后,将queue2所有元素出队,重新入队到...
分类:其他好文   时间:2015-05-27 19:05:45    阅读次数:129
java虚拟机的基本结构
java堆用于存放对象示例,与数据相关,java栈主要与线程的函数调用相关 函数调用一次出入java栈一次,调用的时候入栈,调用结束(return或者throw)出栈,函数参数和函数局部 变量保存在栈帧中,所以函数调用结束之后栈帧被弹出,相应的局部变量也就失效了。 函数参数和局部变量越多,需要栈帧中保存的局部变量表就越大,函数调用的层次就会越少。 局部变量是垃圾回收的很重要的根节点,任何被局部变量...
分类:编程语言   时间:2015-05-27 14:05:49    阅读次数:184
用两个栈实现队列
【题目】用两个栈实现一个队列,分别完成在队列尾部插入结点和在队列头部删除结点的功能。【分析】假设两个栈,栈1和栈2,来实现队列,栈1用来入队,栈2用来出队。 入队时,将元素全部压入栈1; 出队时,如果栈2不为空,就直接pop栈2,否则,就将栈1的所有元素pop到栈1里,再把栈2栈顶弹出。 由图所示,abcdef依次入队,压栈,出队时先将元素从s1弹出,压入s2,从s2出栈实现出队,即使后面再有...
分类:其他好文   时间:2015-05-27 10:23:41    阅读次数:166
八、通过中缀计算表达式转换成后缀计算表达式
前言:中缀表达式符合人们的阅读习惯;  如:5+3            后缀表达式符合计算机的运算习惯;如:53+ 现在通过栈对运算符号的入栈、出栈操作实现将中缀表达式转化成后缀表达式 1、LinkList.h #ifndef _LINKLIST_H_ #define _LINKLIST_H_ typedef void LinkList; typedef s...
分类:其他好文   时间:2015-05-26 21:35:12    阅读次数:116
poj2796Feel Good 单调栈
//一个长度为n的序列,对于一个区间中的value为这个区间的最小值乘上这个区间的所有数的和 //这就是找每一个点,找以其为最小值的区间 //显然直接暴力法找必然超时 //可以开一个单调递增栈,对于每一个新元素a[i] //当前值小于等于栈顶元素,表示以栈顶元素为最小值的区间的右端是i //栈顶元素a[j]出栈 , 由于是单调递增栈,新的栈顶元素a[k]必然小于a[j],故需要更新新的栈...
分类:其他好文   时间:2015-05-26 21:22:24    阅读次数:134
Java笔记--基础
1、Java中内存的基本结构:栈(stack):存放局部变量、对象的引用;堆(heap):new出来的东西(对象)方法区:常量池等静态域:全局变量等变量在其生命周期结束后将出栈,此时堆中的空间因为没有栈中的变量来引用它将被系统回收2、Java中关于变量的类型:1)按照数据类型的不同:基本数据类型 &...
分类:编程语言   时间:2015-05-26 20:57:33    阅读次数:183
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!