码迷,mamicode.com
首页 >  
搜索关键字:一个栈    ( 1020个结果
用两个栈实现一个队列
题目描述:用两个栈实现一个队列分析:栈的特性是后进先出,队列的特性是先进先出。如果用栈实现队列,入队的时候,应该直接给其中一个栈进行入栈操作,关键就在于怎样出队列,对于队列来说,出队列是在队头操作,也就是需要将先入栈(栈底元素)的元素让其出栈,显然,一个栈..
分类:其他好文   时间:2016-04-07 01:36:35    阅读次数:145
用递归函数和栈操作逆序栈
题目描述 一个栈依次压入1,2,3,4,5那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现了栈中元素的逆序,请设计一个算法实现逆序栈的操作,但是只能用递归函数来实现,而不能用另外的数据结构。 给定一个栈Stack以及栈的大小top,请返回逆序后的 ...
分类:其他好文   时间:2016-04-04 21:02:28    阅读次数:162
数据结构(C语言) 栈和队列
栈(stack) 是限定在表尾进行插入或删除操作的线性表,这是栈的定义,所有从本质上来说栈仍旧是线性表的特殊延伸。对栈来说,表尾端有特殊的含义,代表着栈顶(top),相应的,表头端为栈底(bottom)。如果一个栈不含元素,则称其为空栈。栈遵循的是后进先出LIFO结构,即Last In First ...
分类:编程语言   时间:2016-04-04 10:18:24    阅读次数:251
第39课 程序中的三国天下
1. 程序中的栈 1.1 栈的简介 (1)栈中现代计算机程序里最为重要的概念之一 (2)栈在程序中用于维护函数调用上下文 (3)函数中的参数和局部变量存储在栈上 (4)栈保存了一个函数调用所需的维护信息 1.2 函数调用过程 (1)每次函数调用都对应着一个栈上的活动记录,调用函数的活动记录位于栈的中 ...
分类:其他好文   时间:2016-04-04 01:20:00    阅读次数:207
实现一个栈,Push,Pop,Min,并且保证时间复杂度为O(1)
#include<iostream> usingnamespacestd; structstack { int*_pElem;//指向元素数据的指针 int_capacity; int_top; stack(intn) :_capacity(n) { _top=0; _pElem=newint[_capacity]; } ~stack() { delete[]_pElem; _pElem=NULL; } }; classStack { private: stacks; s..
分类:其他好文   时间:2016-04-01 06:42:13    阅读次数:145
包含min函数的栈
需要O(1)时间求出最小值。如果换成最大值,那就和“滑动窗口的最大值”一题思路差不多了。 用一个栈保存元素,用另一个栈来存储最小值,如果新增的元素比栈顶元素小则压入,否则不压入。 如果检测到第一个栈把最小元素弹出了,那么另一个栈也弹出栈顶元素。 “滑动窗口的最大值”更加复杂一点,而且是用deque保 ...
分类:其他好文   时间:2016-03-29 23:56:35    阅读次数:189
JDK8内存模型—消失的永久代
一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法 ...
分类:其他好文   时间:2016-03-27 01:40:29    阅读次数:235
用一个栈实现另一个栈的排序
【说明】: 本文是左程云老师所著的《程序员面试代码指南》第一章中“用一个栈实现另一个栈的排序”这一题目的C++复现。 本文只包含问题描述、C++代码的实现以及简单的思路,不包含解析说明,具体的问题解析请参考原书。 感谢左程云老师的支持。 【题目】: 一个栈中元素的类型为整形,现在想将该栈从顶到底按从 ...
分类:编程语言   时间:2016-03-26 10:51:27    阅读次数:173
c++面试题【转】
语言部分:虚函数,多态。这个概念几乎是必问。STL的使用和背后数据结构,vector string map set 和hash_map,hash_set实现一个栈类,类似STL中的栈。这个题目初看非常简单,当时我还有点不屑,怎么出这么简单的题。但写过c++和没有写过c++的人写出的代码是一眼就能看出...
分类:编程语言   时间:2016-03-18 23:28:57    阅读次数:367
读书笔记-JVM
局部变量表(虚拟机栈中的一部分)在编译期完成分配,运行期不会再改变大小; 每个方法对应一个栈帧(存储局部变量表、操作数栈、动态链接、方法出口等),栈帧被存储到虚拟机栈中,每个线程对应一个虚拟机栈,方法结束,栈帧生命周期结束,线程结束,虚拟机栈生命周期结束; 如果线程请求的虚拟机栈深度大于虚拟机所允许
分类:其他好文   时间:2016-03-17 19:24:46    阅读次数:185
1020条   上一页 1 ... 70 71 72 73 74 ... 102 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!