文章目录
  1. 1. 栈类
  2. 2. 添加数据
  3. 3. 删除数据
  4. 4. 获取数据
  5. 5. 是否为空
  6. 6. 清空数据
  7. 7. 数据长度
  8. 8. 辅助函数,打印数据
  9. 9. 完整代码

栈(stack)又名堆栈,它是一种运算受限的线性表。遵循后进先出原则,像垃圾桶似的。
功能实现依然按照增删改查来进行,内部数据存储可以借用语言原生支持的数组。

栈类

1
2
3
function Stack(){
this.data = [];
}

添加数据

数据添加到末尾

1
2
3
push: function (element){
this.data.push(element);
}

删除数据

从末尾删除

1
2
3
pop: function (){
this.data.pop();
}

获取数据

返回最后一个添加的

1
2
3
peek: function (){
return this.data[this.size() - 1];
}

是否为空

1
2
3
isEmpty: function (){
return this.data.length == 0;
}

清空数据

1
2
3
clear: function (){
this.data= [];
}

数据长度

1
2
3
size: function (){
return this.data.length;
}

辅助函数,打印数据

1
2
3
print: function (){
console.log(this.data.toString());
}

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function Stack(){
this.data = [];
}

Stack.prototype = {
push: function (element){
this.data.push(element);
},
pop: function (){
this.data.pop();
},
peek: function (){
return this.data[this.data.length - 1];
},
isEmpty: function (){
return this.data.length == 0;
},
clear: function (){
this.data= [];
},
size: function (){
return this.data.length;
},
print: function (){
console.log(this.data.toString());
}
}

下篇看看队列

文章目录
  1. 1. 栈类
  2. 2. 添加数据
  3. 3. 删除数据
  4. 4. 获取数据
  5. 5. 是否为空
  6. 6. 清空数据
  7. 7. 数据长度
  8. 8. 辅助函数,打印数据
  9. 9. 完整代码
顶部