js 实现栈
 function Stack() {
     this.dataStore = [];
     this.top = 0;
     this.push=push;
     this.pop=pop;
     this.peek=peek;
     this.length=length;
     this.clear=clear;
 }
 // 入栈
 function push(item) {
     this.dataStore[this.top++]=(item);
 }
 // 出栈,返回栈顶元素,并且将元素的栈顶位置-1
 function pop() {
     return this.dataStore[this.top--]
 }
 // 预览顶端元素
 function peek(){
     return this.dataStore[this.top-1];
 }
 // 返回栈的长度
 function length(){
     return this.top;
 }
 // 清空栈
 function clear(){
     this.top = 0;
 }
//栈的应用实例:
//num要转换的数字 base 要转换为几进制
function convertNum(num,base){
var s=new Stack()
while(num>0){
console.log(num);
s.push(num%base);
num= Math.floor(num/=base);
}
var res="";
while(s.length()>0){
res+=s.pop();
}
return res;
}
js 实现栈的更多相关文章
- Flask Vue.js全栈开发
		
Flask Vue.js全栈开发的 最新完整代码 及使用方式 本系列的最新代码及使用方式将持续更新到: http://www.madmalls.com/blog/post/latest-code/ 1 ...
 - js模拟栈
		
栈:先入后出,后入先出 链表:先入先出,后入后出 下面使用js实现栈 var Stack = (function(){ var items = new WeakMap(); //先入后出,后入先出 c ...
 - Node.js最新技术栈之Promise篇
		
前言 大家好,我是桑世龙,github和cnodejs上的i5ting,目前在天津创业,公司目前使用技术主要是nodejs,算所谓的MEAN(mongodb + express + angular + ...
 - 【Todo】React & Nodejs学习 &事件驱动,非阻塞IO & JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可
		
JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可 今天在学习ReactJS和NodeJS,看到关于ReactJS的这篇文章 ...
 - 数据结构与算法 --- js描述栈
		
js描述栈及栈的使用 栈的特性就是只能通过一端访问,这一段就是叫做栈顶.咖啡馆内的一摞盘子就是最形象的栈的例子: 根据栈的特性,就可以定义栈的一些特殊属性和方法;用js的描述栈的时候底层数据结构用的是 ...
 - js模拟栈---汉诺塔
		
var Stack = (function(){ var items = new WeakMap(); //先入后出,后入先出 class Stack{ constructor(){ items.se ...
 - Node.js 全栈开发(一)——Web 开发技术演化
		
这些年一直不断接触学习 Node 技术栈,个人的技术开发学习兴趣也越来越倾向 node 流.也许是由于英语的关系,也许是因为墙增加了学习国外一手资料的难度,加上现在流行的 web 开发技术并不太容易上 ...
 - js实现栈
		
栈是一种先进后出的特殊线性表结构,存储上分链式存储和顺序存储两种方式 链式存储: function LinkedStack() { let Node = function (ele) { this.e ...
 - [js]数组栈和队列操作
		
写在前面 在项目中,对数组的操作还是比较常见的,有时候,我们需要模拟栈和队列的特性才能实现需求,这里记录一下这个知识点. 栈 栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一 ...
 - js 实现栈的结构
		
js实现一个栈的数据结构 首先了解一下什么是栈,栈是一个后进先出的一种数据结构,执行起来效率比较高. 对于栈主要包括一些方法,弹出栈pop(),弹出栈顶元素,并删除该元素:压入栈push(),向栈中压 ...
 
随机推荐
- [Java] Collections的简单运用
			
package test.collections; import java.util.ArrayList; import java.util.Collection; import java.util. ...
 - [AIR] Screen 的应用
			
Screen 类提供此应用程序的可用显示屏幕的相关信息. 屏幕是位于可能更大的“虚拟桌面”内的独立桌面区域.虚拟桌面的原点是操作系统指定的主屏幕的左上角.因此,个别显示屏幕范围的坐标可能是负数.虚拟桌 ...
 - [ActionScript 3.0] AS3虚线绘制方法
			
import flash.geom.Point; import flash.display.MovieClip; import flash.display.Graphics; var mc:Movie ...
 - Oracle中的约束
			
非空约束 NOT NULL 数据库表中的某一个列不能为空 唯一约束 UNIQUE 表中某一个列不允许重复 唯一约束所在列可以为NULL,但只能出现一次 代码: CREATE TABLE MEMBER ...
 - oracle 建立视图,创建用户并授予查询权限
			
一.需求 数据库有个表car,需要为这个表建立一个视图view_car,并新建一个用户user01,赋予查询这个视图的权限 二.实施步骤 1.以管理员clgl登陆数据库,新建视图view_car: c ...
 - Spring MVC 中的基于注解的 Controller【转】
			
原文地址:http://my.oschina.net/abian/blog/128028 终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 H ...
 - 菜鸟-手把手教你把Acegi应用到实际项目中(5)
			
在实际企业应用中,用户密码一般都会进行加密处理,这样才能使企业应用更加安全.既然密码的加密如此之重要,那么Acegi(Spring Security)作为成熟的安全框架,当然也我们提供了相应的处理方式 ...
 - [ Office 365 开发系列 ] 开发模式分析
			
前言 本文完全原创,转载请说明出处,希望对大家有用. 在正式开发Office 365应用前,我们先了解一下Office 365的开发模式,根据不同的应用场景,我们选择最适合的开发模式. 阅读目录 Of ...
 - 多线程查询FTP Server上的文件
			
情形是这样的,最近做一个自动化的项目,当batch跑成功了,FTP Server上会有特定的生成文件.但是不确定是什么时候会有,大概是batch跑完了5分钟之内吧,所以在脚本里设置检查点的时候,需要每 ...
 - The str method
			
__str__ is a special method name, like __init__, that is supposed to return a string representation ...