数据结构(一)栈JS实现
前言
数据结构就是数据在计算机中存储的结构方式
例如,一个图书馆里的书如何存储,以什么样的结构存储方便人查询,插入?
常见的数据结构
- 数组(Array)
- 链表(Linked_List)
- 栈(Stack)
- 队列(Queue)
- 哈希表(Hash)
- 树(Tree)
- 图(Graph)
1.栈结构(Stack)
栈是一种受限的线性数据结构,插入的元素要求先进后出(FILO or LIFO),计算机中的程序函数的调用就是符合栈结构先进后出
常见栈操作
- push():添加一个元素到栈顶
- pop():移除栈顶元素,返回被移除的元素
- peek():返回栈顶元素,不做修改
- isEmpty():查看栈元素个数时候为空
- size():查看栈元素个数
- toString():返回所有栈元素加起来的字符串
代码
class stack {
constructor() {
this.item = []
}
push(item) {
this.item.push(item)
}
pop() {
return this.item.pop()
}
peek() {
return this.item[this.item.length - 1]
}
isEmpty() {
return this.item.length == 0
}
toString() {
let str = ''
for (let index = this.item.length - 1; index >= 0; index--) {
str = str + this.item[index] + ' '
}
return str
}
}