1.8 KiB
1.8 KiB
title | localeTitle |
---|---|
Create a Stack Class | 创建一个堆栈类 |
创建一个堆栈类
方法:
- Stack是一种抽象的数据结构。
- 堆栈遵循LIFO / FILO原则。
-在这个挑战,我们需要添加.push()
.pop()
.peek()
.isEmpty()
和.clear()
方法的类。
push()
方法将值推送到堆栈。pop()
方法弹出堆栈中的第一个值。peek()
方法返回堆栈中的第一个值。isEmpty()
方法检查堆栈是否为空。
- .clear()
方法从堆栈中删除所有元素。
| DS |访问|搜索|插入|删除| | ----- | ------ | ------ | ------ | ------ | |堆栈| n | n | 1 | 1 |
解:
基础:
function Stack() {
var collection = [];
this.print = function() {
console.log(collection);
};
this.push = function(val){
return collection.push(val);
}
this.pop = function(){
return collection.pop();
}
this.peek = function(){
return collection[collection.length-1];
}
this.isEmpty = function(){
return collection.length === 0;
}
this.clear = function(){
collection.length = 0;
}
}
高级 - ES6类语法:
class Stack {
constructor() {
this.collection = [];
}
print(){
console.log(this.collection);
}
push(val){
retiurn this.collection.push(val);
}
pop(){
return this.collection.pop();
}
peek(){
return this.collection[this.collection.length-1];
}
isEmpty(){
return this.collection.length === 0;
}
clear(){
return this.collection.length = 0;
}
}
###资源: