3 回答
慕田峪4524236
TA贡献1875条经验 获得超5个赞
假设有一种盘子,有很多,你一次只能搬得动一个,你有时要把它们一个一个摞起来放在一个墙角,有时候又要拿出去用。
想象下这种情况,是不是每次从那一摞盘子中只能拿最上面的呢,因为你只能每次搬动一个。如果你每次要放回盘子,是不是也只能放到最上面呢,除非把最上面的一个一个往下搬,然后一个一个搬回去,才能放到中间。
这个所谓的其实就是栈了。
至于你想说堆嘛,其实并不是一种数据结构,而是有一定的计算机组成的意味了,是一个逻辑上的概念,和栈不同,因为栈是一种数据结构。例如在操作系统里面会有系统堆,系统栈,在算法里面的堆排序里面也有大头堆,小头堆,其实只是一个概念,并不是数据结构,需要在特定的环境下理解。
比如说java中的栈就是指向对象存放的位置,而堆却是由对象来创立的用来存放对象的相关属性和方法。
慕斯709654
TA贡献1840条经验 获得超5个赞
- 3 回答
- 0 关注
- 1611 浏览
添加回答
举报
0/150
提交
取消