专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 堆栈的概念及区别

堆栈的概念及区别

更新时间:2021-08-23 10:51:08 来源:动力节点 浏览687次

堆栈(其实就是栈)的概念:

堆栈(英语:stack)又称为栈或堆叠,是计算机科学中一种特殊的串列形式的抽象数据类型,其特殊之处在于只能允许在链表或数组的一端(称为堆栈顶端指针,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。另外堆栈也可以用一维数组或链表的形式来完成。堆栈的另外一个相对的操作方式称为队列。

堆栈数据结构使用两种基本操作:推入(压栈,push)和弹出(弹栈,pop):

推入:将数据放入堆栈的顶端(数组形式或串列形式),堆栈顶端top指针加一。

弹出:将顶端数据数据输出(回传),堆栈顶端数据减一。

堆栈的概念及区别

堆的概念:

堆(英语:Heap)是计算机科学中的一种特别的树状数据结构。若是满足以下特性,即可称为堆:“给定堆中任意节点 P 和 C,若 P 是 C 的父节点,那么 P 的值会小于等于(或大于等于) C 的值”。若父节点的值恒小于等于子节点的值,此堆称为最小堆(英语:min heap);反之,若父节点的值恒大于等于子节点的值,此堆称为最大堆(英语:max heap)。在堆中最顶端的那一个节点,称作根节点(英语:root node),根节点本身没有父节点(英语:parent node)。

堆和栈在java中的区别

在java中堆一般用来存储对象和数组,栈一般用来存储方法和基本类型(注:基本类型不包括string)变量。

栈的存取速度比堆快。栈中的数据是可以共享的(解释:比如int a = 3; int b =3; 此时b的指针直接指向3的地址即可,不用重新开辟一块空间存储3的地址)

以上就是动力节点小编介绍的"堆栈的概念及区别",希望对大家有帮助,想了解更多可查看Java堆栈。动力节点在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>