javascript数据结构-栈

Posted donglegend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript数据结构-栈相关的知识,希望对你有一定的参考价值。

github博客地址

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

栈类

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

  

添加数据

数据添加到末尾

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

  

删除数据

从末尾删除

pop: function (){
	this.data.pop();
}

  

获取数据

返回最后一个添加的

peek: function (){
	return this.data[this.size() - 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 function Stack(){
 2     this.data = [];
 3 }
 4 Stack.prototype = {
 5     push: function (element){
 6         this.data.push(element);
 7     },
 8     pop: function (){
 9         this.data.pop();
10     },
11     peek: function (){
12         return this.data[this.data.length - 1];
13     },
14     isEmpty: function (){
15         return this.data.length == 0;
16     },
17     clear: function (){
18         this.data= [];
19     },
20     size: function (){
21         return this.data.length;
22     },
23     print: function (){
24         console.log(this.data.toString());
25     }
26 }
View Code

 

以上是关于javascript数据结构-栈的主要内容,如果未能解决你的问题,请参考以下文章

几个有用的JavaScript/jQuery代码片段(转)

你可能不知道的JavaScript代码片段和技巧(下)

你可能不知道的JavaScript代码片段和技巧(上)

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段