1、为什么学习数据结构
如果你手里只有锤子,那么目光所及之处都是钉子
2、栈的定义
栈是一种线性表,仅能在栈顶进行操作,有着后进先出的特性
3、用JavaScript实现栈结构
3.1 数据存储
function Stack() {
var items = []
}
3.2 栈的方法
栈中应该有以下几种方法
- push - 压栈
- pop - 出栈
- top - 查找栈顶元素
- isEmpty - 判断栈是否未空
- size - 栈中元素个数
- clear - 清空栈 接下来用代码逐一实现这些代码
3.2.1 push
this.push = function (item) {
items.push(item)
}
3.2.2 pop
this.pop = function () {
return items.pop()
}
3.2.3 top
this.top = function () {
return items.[items.length - 1]
}
3.2.4 isEmpty
this.isEmpty = function () {
return items.length === 0
}
3.2.5 size
this.size = function () {
return items.length
}
3.2.6 clear
this.clear = function () {
items = []
}
3.3 最终完整代码
function Stack() {
var items = []
this.push = function (item) {
items.push(item)
}
this.pop = function () {
return items.pop()
}
this.top = function () {
return items.[items.length - 1]
}
this.isEmpty = function () {
return items.length === 0
}
this.size = function () {
return items.length
}
this.clear = function () {
items = []
}
}