一、数组
二、栈
栈(stack)别名客栈,它是一种运算受限的线性表。其限定是仅许可在表的一端举行插进去和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插进去新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删撤除,使其相邻的元素成为新的栈顶元素。
class Stack{
constructor(){
this.item = []
}
push(element){
this.item.push(element)
}
pop(){
return this.item.pop()
}
peek(){
return this.item[this.item.length-1]
}
isEmpty(){
return this.item.length === 0
}
clear(){
this.item = []
}
size(){
return this.item.length
}
}
三、行列
行列是一种特别的线性表,特别的地方在于它只许可在表的前端(front)举行删除操纵,而在表的后端(rear)举行插进去操纵,和栈一样,行列是一种操纵受限定的线性表。举行插进去操纵的端称为队尾,举行删除操纵的端称为队头。
class Queue{
constructor(){
this.item = []
}
enqueue(element){
this.item.push(element)
}
dequeue(){
return this.item.shift()
}
front(){
return this.item[0]
}
isEmpty(){
return this.item.length === 0
}
size(){
return this.item.length
}
}