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
转载于:https://www.cnblogs.com/donglegend/p/6043330.html
javascript数据结构-栈相关推荐
- JavaScript数据结构——栈(Stack)
概念和结构 栈是一种后进先出(LIFO)的数据结构. 栈的第一个元素所在位置称为栈底,最后一个元素所在位置称为栈顶. 不包含任何元素的栈称为空栈. 栈的操作 栈有六种常用操作,分别为 入栈 push( ...
- JavaScript数据结构——图的实现
在计算机科学中,图是一种网络结构的抽象模型,它是一组由边连接的顶点组成.一个图G = (V, E)由以下元素组成: V:一组顶点 E:一组边,连接V中的顶点 下图表示了一个图的结构: 在介绍如何用Ja ...
- 学习JavaScript数据结构与算法(一):栈与队列
本系列的第一篇文章: 学习JavaScript数据结构与算法(一),栈与队列 第二篇文章:学习JavaScript数据结构与算法(二):链表 第三篇文章:学习JavaScript数据结构与算法(三): ...
- JavaScript数据结构与算法(1)(数组、栈、队列、链表)(ES6)
注意:原教学视频:JavaScript(ES6)数据结构和算法 | JavaScript数据结构与算法 (都是CoderWhy老师的教学) 原作者(笔记)链接:JavaScript 数据结构与算法 | ...
- 5分钟教会学妹使用JavaScript栈解决问题(三)【JavaScript数据结构与算法系列】
本文目录 一.用栈解决问题的领域 二.从十进制到二进制 三.进制转换算法 四.本章小结 五.写在后面 一.用栈解决问题的领域 在上一篇文章中,我们了解并学习了JavaScript使用不同的方法来定义栈 ...
- 学习javascript数据结构(三)——集合
前言 总括: 本文讲解了数据结构中的[集合]概念,并使用javascript实现了集合. 原文博客地址:学习javascript数据结构(三)--集合 知乎专栏&&简书专题:前端进击者 ...
- 为什么我要放弃javaScript数据结构与算法(第二章)—— 数组
第二章 数组 几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构.JavaScript里也有数组类型,虽然它的第一个版本并没有支持数组.本章将深入学习数组数据结构和它的能力. 为什么 ...
- JavaScript数据结构和算法简述——数组
为什么先讲数组 数据结构可以简单的被分为线性结构和非线性结构. 线性结构大致包括: 数组(连续存储): 链表(离散存储): 栈(线性结构常见应用,由链表或数组增删和改进功能实现): 队列(线性结构常见 ...
- JavaScript数据结构和算法简述——前言
为什么要使用数据结构和算法(程序=数据结构+算法) 数据结构是对在计算机内存中(有时在磁盘中)的数据的一种安排.包括数组.链表.栈.二叉树.哈希表等. 算法是对这些结构中 ...
最新文章
- 《中国式方案秘籍(上部)》
- 【ABAP】Field Symbol使用总结
- 你......真的了解我吗?
- 谷歌退出中国几成定局 谈判已谈崩
- 什么?他居然想在DLL中放毒!
- 153. 寻找旋转排序数组中的最小值 golang
- poj2236 并查集
- 射频能量用于治疗和美容
- MySQL执行多表联查时,报错ln aggregated query without GROUP BY
- mysql删除某天前的数据
- 教务系统漏洞再生南工大FaceMash
- 世界上最复杂的函数_世界上最伟大的10个公式,其中一个人尽皆知
- u盘安装centos8黑屏_u盘centos7 安装 黑屏苹果电脑怎么安装win7系统还原
- iOS8定位问题解决方案
- Nginx反向代理服务器高速缓存数据结构的部分实现
- Java 中的 getResource 方法
- sql增加数据的几种方法
- 网络爬虫:商品比价定向爬虫
- Hibernate数据查询教程
- 最全Python函数总结和应用(超详细+建议收藏),基本所有内置函数,心得都在这了,踩的坑也在里面了,最后还有函数的魂
热门文章
- poj 1330 Nearest Common Ancestors LCA/DFS
- 九章算法强化班 - 课程大纲
- 深入理解Java引用类型
- 一步一步学Silverlight 2系列(25):综合实例之Live Search
- pycharm写python字典_pythonpycharm安装基础语法
- C++ 类成员引用变量的使用
- 局域网mysql数据库访问
- 互补输出级采用共集形式是为了使_天津大学胡文平《先进材料》:溶液法制备厘米级高度取向有机晶体阵列,可用于高性能有机场效应晶体管...
- 推荐几个最近Star过的Github仓库
- mysql注入提取邮件_【sql注入教程】mysql注入直接getshell