栈是一种特殊的列表,栈内的元素只能通过列表的栈顶访问,高效。
栈是一种高效的、后入先出的数据结构(LIFO,last-in-first-out)
对栈的操作常用的主要有:
- 元素压入栈
push()
- 元素弹出栈
pop()
预览栈顶元素
peek()
,如果是空栈返回undefined
;栈的实现
- 定义栈的构造函数
function stack() {
this.dataStore = [];
this.top = 0; //record the position of stack top element
this.push = push;
this.pop = pop;
this.peek = peek;
this.length = length;
}
function push(element) {
this.dataStore[this.top++] = element;
}
function pop(element) {
this.dataStore[this.top--];
}
function peek() {
return this.dataStore[this.top-1];
}
function length() {
return this.top;
}
function clear() {
this.top = 0;
}
注:
- 回文: 指这样一种现象,一个单词、短语或数字,从前往后写和从后往前写都是一样的。