数据结构高手里边请,堆与堆栈的区别

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 12:40:17
数据结构高手里边请,堆与堆栈的区别

数据结构高手里边请,堆与堆栈的区别
数据结构高手里边请,堆与堆栈的区别

数据结构高手里边请,堆与堆栈的区别
堆(heap)
为程序保存的一块内存区域,用来保存那些在运行时才知道其存在与大小的数据;
程序能够从堆中分配内存给这些元素;在用完之后,应该释放掉这些内存.
堆中所有的的东西都是匿名的----不能按名字直接访问只能通过指针间接的访问

栈(stack)
为程序保存的一块内存区域,用来保存状态数据,
例如:过程或函数的地址,参数,有时候还包括局部变量.

所以,堆和栈的区别:一个是动态,一个是静态;
堆是在程序运行时动态分配的,而栈的分配是编译完后,就确定了;
栈内存的回收,系统自动进行了,而堆上分配的内存,需要手工显式回收.

malloc , new分配的内存就是在堆上的,如果不用free, delete回收,
就会造成内存泄漏(垃圾),不过,一般操作系统会在整个程序(进程)退出时,
回收分配给这个进程的内存等资源.

数据结构高手里边请,堆与堆栈的区别 算法与数据结构的区别 数据结构中堆的作用 数据结构,堆 算法与数据结构区别我想了解它的根本区别 求解一道 数据结构 堆排序的题 数据结构中堆的定义是? 数据结构和抽象数据结构的概念与程序设计语言中数据类型概念的区别 &与*有什么区别 数据结构 protel与protues的区别请高手指点,谢谢 化验室与实验室的区别是什么啊?请高手指教, near 与nearly的区别是什么,高手请指教!谢谢! 描述数据结构的概念与程序设计语言中数据类型概念的区别这是《数据结构》课本的课后习题 关于数据结构排序算法的问题插入排序、选择排序、冒泡排序、基数排序、堆排序的算法中其比较次数与初始数据集顺序无关的是?请说明理由. 数据结构关于排序算法的问题?插入排序、选择排序、冒泡排序、基数排序、堆排序的算法中其比较次数与初始数据集顺序无关的是?请说明理由. 数据结构试题 1、 画出线性结构、树结构和图结构的逻辑示意图2、 什么是顺序存储结构?什么是链式存储结构?3、 什么是堆栈?什么是队列?举例说明堆栈、队列的用途.4、 画出一个满二叉树 不用数据结构中的什么堆栈.还没学过,.能计算1+3*3+4这种的计算器 请讲下原理好吗、最好贴上代码 眷恋与眷念的区别请谈谈两者的区别,麻烦各位高手了!