为什么我要放弃javaScript数据结构与算法(第三章)—— 栈
有两种结构类似于数组,但在添加和删除元素时更加可控,它们就是栈和队列。 第三章 栈 栈数据结构 栈是一种遵循后进先出(LIFO)原则的有序集合。新添加的或待删除的元素都保存在栈的同一端,称为栈顶,另一端就叫做栈底。在栈里, 新元素都靠近栈顶,旧元素都接近栈底。 栈也被用在编程语言的编译器和内存中保存变量、方法调用等。 创建栈 先声明这个类 function Stack(){ // 各种属性和方法的声明 } 选择数组这种数据结构来保存栈里的元素 let items = []; 为栈声明一些方法 push(element(s)): 添加一个(或者几个)新元素到栈顶 pop():移除栈顶的元素,同时返回被移除的元素 peek():返回栈顶的元素,不会对栈做任何修改(这个方法不会移除栈顶的元素,仅仅返回它) isEmpty():如果栈里没有任何元素的就返回true,否则就返回false. clear():移除栈里的所有元素 size():返回栈里的元素个数,这个方法和数组的length属性很类似。 向栈添加元素 我们要实现的第一个方法是 push,这个方法负责向栈里添加新元素,该方法只添加元素...