栈 是一种遵从 后进先出(LIFO)原则的有序集合。就像一摞盘子。

push 添加一个元素到栈顶

pop 移除并返回栈顶的元素

peek 返回栈顶元素

isEmpty 如果栈里没有任何元素,返回true,否则返回false。

clear 移除栈里的所有元素

size 返回元素的个数

function Stack() {
var items=[];
this.push=function(ele){
items.push(ele);
}
this.pop=function(){
return items.pop();
}
this.peek=function(){
return items[items.length-1];
}
this.isEmpty=function () {
return items.length==0;
}
this.size=function () {
return this.length;
}
this.clear=function () {
items=[];
}
this.print=function () {
console.log(items.toString());
}
}

  转换为二进制

function divideBy2(decNumber) {
var remStack=new Stack(),rem,binaryString="";
while (decNumber>0) {
rem=Math.floor(decNumber%2);
remStack.push(rem);
decNumber=Math.floor(decNumber/2);
}
while(!remStack.isEmpty()){
binaryString+=remStack.pop().toString();
}
return binaryString;
}

  转换为任意进制

function baseConverter(decNumber,base) {
var remStack=new Stack(),rem,binaryString="",digits="0123456789ABCDEF";
while (decNumber>0) {
rem=Math.floor(decNumber%base);
remStack.push(rem);
decNumber=Math.floor(decNumber/base);
}
while(!remStack.isEmpty()){
binaryString+=digits[remStack.pop()];
}
return binaryString;
}

  

最新文章

  1. gvim 安装YCM
  2. PHP分页类,生成分页html字符串
  3. MMORPG大型游戏设计与开发(客户端架构 part12 of vegine)
  4. 使用OmniGraffle制作原型图
  5. mongo数据库使用小结
  6. mongodb学习(五) 查询
  7. 结合JDK源码看设计模式——原型模式
  8. JavaScript小实例:拖拽应用(二)
  9. kubernetes1.14.0部署
  10. python基础之 time,datetime,collections
  11. MyBatis笔记(一) 最简单的select
  12. session随笔
  13. 机器学习中数据清洗&预处理
  14. java 程序运行过程 简介
  15. 从GitHub远程仓库中删除文件夹或文件
  16. springboot使用redis的配置application.yml连接池以及存取
  17. ubuntu-docker入门到放弃(二)docker初探(基本用法及命令)
  18. @repository的含义,并且有时候却不用写,为什么?
  19. error 'there is already an open datareader associated with this command which must be closed first'
  20. 我是一名IT小小鸟

热门文章

  1. javascript获取当前url
  2. web前端基础知识 - Django进阶
  3. c 头文件<ctype.h>(一)
  4. 转Windows Phone8.1 获取手机唯一识别码
  5. 《玩转D语言系列》三、轻松大跃进,把它当C语言先用起来
  6. 夺命雷公狗-----React---25--小案例之react经典案例todos(单选框的修改)
  7. 【转】python中的正斜杠、反斜杠
  8. mbed学习之Digital IO (一)
  9. SQL Server 参数化 PARAMETERIZATION
  10. VM环境下,快速复制多个SQLServer实例,环境调整