数据结构的javascript完成

一、数组

二、栈

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

}

    原文作者:前端咸蛋黄
    原文地址: https://segmentfault.com/a/1190000019381881
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞