数据结构与算法JavaScript描述——栈

栈就是和列表类似的一种数据结构,它可用来解决计算机世界里的很多问题。
栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作很快,而且容易实现。
栈的使用遍布程序语言实现的方方面面,从表达式求值到处理函数调用。
 
1.对栈的操作:                                        
栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶。
栈被称为一种后入先出的数据结构。
由于栈具有后入先出的特点,所以任何不在栈顶的元素都无法访问。
为了得到栈底的元素,必须先拿掉上面的元素。
对栈的两种主要操作是将一个元素压入栈和将一个元素弹出栈。入栈使用push() 方法,出栈使用pop() 方法。
另一个常用的操作是预览栈顶的元素。pop() 方法虽然可以访问栈顶的元素,但是调用该方法后,栈顶元素也从栈中被永久性地删除了。
peek() 方法则只返回栈顶元素,而不删除它。
 
为了记录栈顶元素的位置,同时也为了标记哪里可以加入新元素,我们使用变量top
当向栈内压入元素时,该变量增大;从栈内弹出元素时,该变量减小。
push()、pop() 和peek() 是栈的3 个主要方法,但是栈还有其他方法和属性。
clear() 方法清除栈内所有元素,length 属性记录栈内元素的个数。
我们还定义了一个empty 属性,用以表示栈内是否含有元素,不过使用length 属性也可以达到同样的目的。
 
2.栈的实现:
实现一个栈,当务之急是决定存储数据的底层数据结构。这里采用的是数组。
 
代码:

 

 
 
 
 

转载于:https://www.cnblogs.com/tenWood/p/7208891.html

你可能感兴趣的:(数据结构与算法JavaScript描述——栈)