栈
栈遵循后入先出的原则。
- push() 、 pop() 和 peek() 是栈的 3 个主要方法
入栈使用 push() 方法,出栈使用 pop() 方法, peek() 方法则只返回栈顶元素,而不删除它。
class Stack {
constructor() {
this.dataStore = [];
this.top = 0;
this.push = push;
this.pop = pop;
this.peek = peek;
this.clear = clear;
this.length = length;
}
push(element) {
this.dataStore[this.top++] = element;
}
pop() {
return this.dataStore[--this.top];
}
peek() {
return this.dataStore[this.top - 1];
}
clear() {
this.top = 0;
}
length() {
return this.top;
}
}
队列
队列是一种先进先出(First-In-First-Out,FIFO)的数据结构。
向队列中插入新元素和删除队列中的元素。插入操作也叫做入队,删除操作也叫做出队。入队操作在队尾插入新元素,出队操作删除队头的元素。队列的另外一项重要操作是读取队头的元素。这个操作叫做 peek() 。该操作返回队头元素,但不把它从队列中删除。除了读取队头元素,我们还想知道队列中存储了多少元素,可以使用 length 属性满足该需求;要想清空队列中的所有元素,可以使用clear() 方法来实现。