数据结构的javascript实现

1、数组

2、栈

栈(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
    }
}

3、队列

队列是一种特殊的线性表,特殊之处在于它只容许在表的前端(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
}

}前端

相关文章
相关标签/搜索