JS创建栈
//使用JS创建一个栈
function Stack() {
let items = []
//添加一个或者几个新元素到栈顶
this.push = function(element) {
items.push(element)
}
//移除栈顶的元素,同时返回被移除的元素
this.pop = function() {
return items.pop()
}
//返回栈顶元素,但是并不对栈顶的元素做出任何的修改
this.peek = function() {
return items[items.length - 1]
}
//检查栈内是否有元素,如果有就返回true,没有就返回false
this.isEmpty = function() {
return items.length == 0
}
//清除栈里的元素
this.clear = function() {
items = []
}
//返回栈里的个数
this.size = function() {
return items.length
}
//打印栈里的元素
this.print = function() {
console.log(items.toString());
}
}
//使用栈
let stack = new Stack()
console.log(stack.isEmpty());
JS创建队列
function Queue() {
let items = []
//向队列尾部添加一个(或是多个元素)
this.enqueue = function(element) {
items.push(element)
}
//移除队列的第一个元素,并返回被移除的元素
this.dequeue = function() {
return items.shift()
}
//返回队列的第一个元素
this.front = function() {
return items[0]
}
//检查队列内是否有元素,如果有返回true,没有返回false
this.isEmpty = function() {
return items.length == 0
}
//清除队列所有元素
this.clear = function() {
items = []
}
//返回队列的长度
this.size = function() {
return items.length
}
//打印队列的元素
this.print = function() {
console.log(items.toString());
}
}
//使用队列
let queue = new Queue()
console.log(queue.size());