class Node{
constructor (data, link) {
this.data = data,
this.link = link
}
}
class Link{
constructor (top) {
this.top = top
this.getItem = ""
this.deleteItem = ""
}
//1. 链接堆栈初始化
initialLink() {
this.top = null
return this.top
}
//2. 测试链接堆栈是否为空
emptysLink() {
return this.top == null
}
//3. 取当前栈顶元素
getTops() {
if (this.emptysLink()) {
return 0
} else {
this.getItem = this.top.data
return 1
}
}
//4. 链接堆栈的插入
pushLink(item) {
let p
if (!(p = new Node(item, null))) {
return 0
} else {
p.link = this.top
this.top = p
return 1
}
}
//5. 链接堆栈的删除
deleteLink() {
let p
if (this.emptysLink()) {
return 0
} else {
p = this.top
this.deleteItem = p.data
this.top = p.link
p = null
return 1
}
}
}
测试:
var link = new Link()
link
link.initialLink()
link.emptysLink()
link.pushLink(1)
link.pushLink(2)
link.pushLink(3)
link.pushLink(4)
link.pushLink(5)
link.getTops()
link.deleteLink()
网友评论