哪些数据结构可以实现栈,javascript技术栈
本篇文章给大家带来了关于爪哇岛描述语言的相关知识,其中主要介绍了关于栈的相关问题,包括了面向过程方法源码编写栈以及用面向对象的方法来源码书写等等内容,下面一起来看一下,希望对大家有帮助。
【相关推荐:javascript视频教程、网络前端】
1.认识栈
2.面向过程方法源码编写栈
2.1思考
2.2需要实现的方法
在实现之前我们思考一下我们怎么实现
首先我们借用数组的方法来实现,所以我们需要创建
一个空数组来模拟栈
2.3源码实现,并调用类
类堆栈{
构造函数(){
this.item=[]
}
推送(元素){
this.item.push(元素)
}
pop() {
返回this.item.pop()
}
peek() {
返回this.item[this.item .长度- 1]
}
isEmpty() {
返回this.item.length===0
}
clear() {
this.item=[]
size() {
返回this.item .长度
}
}
//实例化堆类
const stack=new Stack()
stack.push(4)
stack.push(6)
console.log( stack.pop())
console.log(stack.peek())
console.log(stack.isEmpty())
console.log(stack.size())运行结果:
3.用面向对象的方法来源码书写
3.1思考
3.2需要实现的方法
那么在实现这个类,我们用对象来模拟栈
3.3源码及使用类
类堆栈{
构造函数(){
this.count=0
this.items={}
}
推送(元素){
这个。物品[这个。计数]=元素
这个。计数
}
pop() {
if(this.isEmpty()){
返回未定义
}
这个。计数-
常量结果=this.items[this.count]
删除此。项目[this.count]
回送结果
}
peek() {
if(this.isEmpty()){
返回未定义
}
返回this.items[this.count-1]
}
isEmpty() {
返回this.count===0
}
clear() {
this.items={}
this.count=0
}
size() {
把这个还回去。伯爵
}
toString(){
if(this.isEmpty()){
返回未定义
}
让object string=` $ { this。项目[0]} ` 1
对于(设I=1;ithis.counti ){
object string=` ${ object string },${ this。项目[I]} `
}
返回对象字符串
}
}
const stack=新堆栈()
stack.push(23)
stack.push(34)
stack.push(80)
console.log( stack.pop())
console.log(stack.peek())
console.log(stack.isEmpty())
console.log(stack.size())
console.log(stack.toString())【相关推荐:javascript视频教程、网络前端】以上就是简单了解Java脚本语言数据结构与算法之栈的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。