JS中数据结构之栈
网络编程 2021-07-04 15:49www.168986.cn编程入门
栈是一种遵从后进先出(LIFO)原则的有序集合。新添加的或待删除的元素都保存在栈末尾,称作栈顶,另一端称作栈底。在栈里,新元素都靠近栈顶,旧元素就接近栈底。
栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作很快,而且容易实现。
栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶。栈被称为一种后入先出(LIFO,last-in-first-out)的数据结构。由于栈具有后入先出的特点,所以任何不在栈顶的元素都无法访问。为了得到栈底的元 素,必须先拿掉上面的元素。
栈的实现
用数组 dataStore 保存栈内元素,构造函数将其初始化为一个空数组。变量 记录 栈顶位置,被构造函数初始化为 0,表示栈顶对应数组的起始位置 0。如果有元素被压入 栈,该变量的值将随之变化。
function Stack() { this.dataStore = []; this. = 0; this.push = push; this.pop = pop; this.peek = peek; }
push() 方法当向栈中压入一个新元素时,需要将其保存在数组中变量 所对应的位置,然后将 值加 1,让其指向数组中下一个空位置。
function push(element) { this.dataStore[this.++] = element; }
pop() 方法与 push() 方法相反——它返回栈顶元素,将变量 的值减 1
function pop() { return this.dataStore[--this.]; }
peek() 方法返回数组的第 -1 个位置的元素,即栈顶元素。如果对一个空栈调用 peek() 方法,结果为 undefined。这是因为栈是空的,栈顶没有任何 元素。
pop() 方法虽然可以访问栈顶的元素,调用该方法后,栈顶元素也从栈中被永久性地删除了。peek() 方法则只返回栈顶元素,而不删除它。
function peek() { return this.dataStore[this.-1]; }
length() 方法通过返回变量 值的方式返回栈 内的元素个数
function length() { return this.; }
clear()方法将变量 的值设为 0,清空栈
function clear() { this. = 0; }
使用栈解决问题举例判断一个字符串是否是回文
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南