JS中的基础数据结构
在js中有三种常用的数据结构是我们必须了解的,他们分别是栈(stack)、堆(heap)、队列(queue),下面分别做介绍。 栈(stack) 基础定义: 1.栈是一种数据结构,它表达的是数据的一种存取方式. 2.栈可用来规定代码的执行顺序,函数调用在js中叫做函数调用栈(call stack). 3.栈表达的是一种数据在内存中的存储区域. 栈的存取方式遵循 先进后出后进先出 (LIFO) 的原则,学习它的最终目的是掌握函数调用栈的运行方式,下面可通过往容器里存取小球的图例理解栈的存取方式: 如上图中,往容器中一次放入小球,最先放进去的在最底下(栈底),最后放进去的在最上方(栈顶)。当我们取出的时候,很明显需要我们先取出顶部(栈顶)的小球,才能依次取出下方(栈底)的。这种存取方式就是栈数据结构的的存取特点:先进后出,后进先出原则。 其中在数组(Array)中有两个栈方法映射了这种存取方式,分别是: push: 向数组末尾添加元素(进栈方法) pop: 弹出数据最末尾的一个元素(出栈方法) 堆(heap) 堆数据结构通常是一种树状结构,他的存取方式类似于书架上取书,无需关心存放顺序。 该图可用字面量的形式体现出来: var Heap = { a : 10 , b : 20 , c : { m : 300 , n : 400 } } 当我们想访问a时,只需通过Heap.a来访问即可