最新文章列表

堆和栈的区别(转过无数次的文章)

一、预备知识—程序的内存分配   一个由C/C++编译的程序占用的内存分为以下几个部分   1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其   操作方式类似于数据结构中的栈。   2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回   收   。注意它与数据结构中的堆是两回事,分配方式倒是类似 ...
qsshuang 评论(0) 有349人浏览 2014-07-22 10:54

java栈和队列的实现

java栈实际上就像一个盒子模型.先放进去的要向拿出了必须先把后放进去的拿出来.先进后出. 实现比较简单.直接贴代码,没有什么好说的. //底层实现是一个数组 private long[] arr; private int top; /** * 默认的构造方法 */ public MyStack() { arr = new long[10]; to ...
bughope 评论(0) 有824人浏览 2014-06-14 16:42

堆栈理解

1 内存分配策略   按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.   静态存储分配是指在编译时就能确 ...
谷熙亚 评论(0) 有593人浏览 2014-05-30 15:59

栈的Java实现--链栈

栈的Java实现--链栈 链栈,顾名思义,就是以链表的形式实现的栈的相关操作,其实是功能弱化了的链表,如果已经阅读过链表的实现代码,那么链栈的实现显得更为容易。   链栈的基本结构: 链栈的入栈操作:  让top引用指向新的节点,新节点的next指向原来的top 记录栈内元素个数的size+1 链栈的出栈操作:  top引用指向原栈顶元素的下一个元素(top.next), ...
NO.6 评论(0) 有1562人浏览 2014-04-14 16:30

栈的Java实现--顺序栈

栈的Java实现--顺序栈 栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被 ...
NO.6 评论(0) 有3319人浏览 2014-04-14 12:51

阻塞队列和阻塞栈

阻塞队列阻塞队列是Java5并发新特性中的内容,阻塞队列的接口是java.util.concurrent.BlockingQueue,它有多个实现类:ArrayBlockingQueue、DelayQueue、LinkedBlockingQueu ...
cuisuqiang 评论(0) 有4810人浏览 2014-02-19 14:44

java虚拟机学习笔记(一)JVM的内存空间

   一,为什么要学JVM内存           java程序无需显示分配和回收内存,由jvm自动管理内存的分配及回收,给开发人员降低了编写程序的难度, 副作用是可能在不知不觉中浪费了很多内存, 导致jvm花费很多时间进行内存回收, 另外由于不清楚jvm内存的分配和回收机制, 有可能造成内存泄露. 因此jvm如何进行内存的分配和回收也是要关注的问题.       二, JVM内存的结构    ...
A牛哥哥 评论(0) 有1411人浏览 2014-02-19 11:36

栈的顺序存储表示

/* c3-1.h 栈的顺序存储表示 */ #define STACK_INIT_SIZE 10 /* 存储空间初始分配量 */ #define STACKINCREMENT 2 /* 存储空间分配增量 */ typedef struct SqStack { SElemType *base; /* 在栈构造之前和销毁之后,base的值为NULL */ SElem ...
20131007 评论(0) 有1147人浏览 2013-11-28 00:23

一个数组实现两个栈

用一个数组实现两个栈的大体思路:先定义一个数组,定义两个栈底指针base1,和base2初始值分别为0和size -1;再定义一个标志位flag用来指示是对哪个栈进行操作,在base2 - base1 == 1时,栈满了,在入栈时左边指针++,右边指针--,出战相反。一下为具体代码,由于比较简单,就没写注释。 public class Stack { private int stackSize ...
超超超哥2010 评论(0) 有1356人浏览 2013-09-26 21:19

一道栈的输入输出序列问题

一个栈输入序列为1,2,3,4,5,则下列序列中不可能是栈的输出序列是( ) A.1 2 3 4 5 B.5 4 3 2 1 C.2 3 4 5 1 D.4 1 2 3 5 分析:可以根据答案来判定的,像A的话,顺序是1 2 3 4 5 那么当1进来的时候应该马上出去,如果不这样做的话,1肯定不是第一个出去的,依此类推。A.1进 1出 2进 2出 3进 3出 4进 4出 5进 5出B. ...
bijian1013 评论(0) 有3412人浏览 2013-08-06 09:39

深度解析java内存原型

来源:chinaitlab 本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲解了其的工作原理。 一、Java虚拟机内存原型 寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放常量非RAM存储:硬盘等永久存储空间。 二、常量池(constant ...
锋之弥漫 评论(0) 有734人浏览 2013-07-03 10:08

JAVA 文件编译执行与虚拟机(JVM)简单介绍

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo3 java程序的内存分配 JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算 ...
grefr 评论(0) 有1681人浏览 2013-05-21 16:42

链栈的实现

#include <iostream> #include <stdlib.h> using namespace std; typedef int Elemtype; typedef struct Node { Node *lNext; Elemtype eData; } *LinkedStack; //函数声明 LinkedSta ...
chinrui 评论(0) 有943人浏览 2013-04-28 09:06

下堆栈的helloworld

#include <stdlib.h> #include <stdio.h> typedef int Item; typedef struct STACKnode* link; struct STACKnode {Item item;link next;}; static link head; link NEW(Item item,link next) { ...
haoningabc 评论(0) 有829人浏览 2013-04-15 23:36

C实现顺序栈

昨天写个程序用到栈,奈何老师只让用C,现成的STL不能用,只好自己写一个了,发现顺序栈写起来比链栈要简单一些.   stack.h /* ** Header file for stack ** Written by santos at 2013.3.24 */ #ifndef STACK_H #define STACK_H #define STACK_SIZE 100 t ...
hslx111 评论(0) 有1060人浏览 2013-03-25 22:16

Java中堆和栈的区别(1)

堆和栈的区别 栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java 的堆是一个运行 ...
wkf41068 评论(0) 有957人浏览 2013-03-24 16:07

C++中堆和栈的完全解析

C++中堆和栈的完全解析 内存分配方面: 堆: 操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删 除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样代码 中的delete语句才能正确的释放本内存空间。我们常说的内存泄露,最常见的就是堆泄露(还有资 ...
elviszhao 评论(0) 有1364人浏览 2013-03-14 12:50

数据结构--栈

#include <iostream> #include <malloc.h> #include<conio.h> //定义节点 typedef char ElemType; typedef struct Node{ ElemType data; struct Node *next; } Stack; /* *栈S指向一个 ...
 
2012到2014 评论(0) 有650人浏览 2013-03-11 18:11

1、java内存结构

一、理解   Java程序在运行时,需要在内存中分配空间。 为了提高运算效率,又对空间进行了不同区域的划分, 因为每一片区域都有特定的处理数 ...
豆豆咖啡 评论(0) 有883人浏览 2013-03-05 08:38

腾讯微信面试题--实现时间复杂度为O(1)的栈

     昨天下去去面试微信实习,遇到这道算法题,当时被卡住,故今天把它写出来做下知识整理,   原题:实现一个栈,满足min()  pop()  push()方法的时间复杂度都为O(1).( min()返回栈中最小元素 )        思路1:用一个变量minItem记录栈中的最小值,在push()中 每次加入一个item就跟minItem对比,item更小,只item赋给minIt ...
chenchuangfeng 评论(23) 有7897人浏览 2013-02-26 16:54

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics