什么是堆栈,它的工作原理和具体应用场景有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计877个文字,预计阅读时间需要4分钟。
版权+堆栈(Heap and Stack)的概念在计算机领域中不容忽视。虽然堆栈常被提及,但堆与栈是两个相对的概念:堆指先进先出(First In First Out, FIFO),栈指先进后出(First In Last Out, LIFO)。
版权
堆栈(heap and stack)的概念在计算机领域中不容忽视。虽然堆栈常被连着念,堆与栈是两个相对的概念:堆指先进先出(first in first out),栈指先进后出(first in last out)。
很显然,堆与栈映射了人类社会的许多现象。比如超市的食品柜台和路边饮料贩卖机的存取顺序,为了防止过期,总是将新进货放在最里面,外侧的食物被顾客不断拿取:这就是堆。再想象一个小朋友用来存放糖果的长长的抽屉,无论拿糖还是放糖都习惯在抽屉的最外侧操作,久之,里面的糖果就过期了:这是栈。显然“堆”在人类社会中更“合理”些。
如此看来,数据栈只能在一端(称为栈顶(top))对数据项进行插入和删除,而数据堆可以从两端同时操作。因此栈的特性是严格,有序,规范。相反,堆就是自由,灵活,随意的。但是堆与栈的共通之处在于,数据的读写不根据内存地址,而是根据写入的顺序决定读出的顺序。所以,这种独特的缓存机制虽要求每个数据单元的大小等价,却提供了高速读写数据的能力。
1.计算机/网络设备中的缓存堆。
本文共计877个文字,预计阅读时间需要4分钟。
版权+堆栈(Heap and Stack)的概念在计算机领域中不容忽视。虽然堆栈常被提及,但堆与栈是两个相对的概念:堆指先进先出(First In First Out, FIFO),栈指先进后出(First In Last Out, LIFO)。
版权
堆栈(heap and stack)的概念在计算机领域中不容忽视。虽然堆栈常被连着念,堆与栈是两个相对的概念:堆指先进先出(first in first out),栈指先进后出(first in last out)。
很显然,堆与栈映射了人类社会的许多现象。比如超市的食品柜台和路边饮料贩卖机的存取顺序,为了防止过期,总是将新进货放在最里面,外侧的食物被顾客不断拿取:这就是堆。再想象一个小朋友用来存放糖果的长长的抽屉,无论拿糖还是放糖都习惯在抽屉的最外侧操作,久之,里面的糖果就过期了:这是栈。显然“堆”在人类社会中更“合理”些。
如此看来,数据栈只能在一端(称为栈顶(top))对数据项进行插入和删除,而数据堆可以从两端同时操作。因此栈的特性是严格,有序,规范。相反,堆就是自由,灵活,随意的。但是堆与栈的共通之处在于,数据的读写不根据内存地址,而是根据写入的顺序决定读出的顺序。所以,这种独特的缓存机制虽要求每个数据单元的大小等价,却提供了高速读写数据的能力。
1.计算机/网络设备中的缓存堆。

