Javascript中的栈
2024-08-29 13:00:30
栈 是一种遵从 后进先出(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;
}
最新文章
- gvim 安装YCM
- PHP分页类,生成分页html字符串
- MMORPG大型游戏设计与开发(客户端架构 part12 of vegine)
- 使用OmniGraffle制作原型图
- mongo数据库使用小结
- mongodb学习(五) 查询
- 结合JDK源码看设计模式——原型模式
- JavaScript小实例:拖拽应用(二)
- kubernetes1.14.0部署
- python基础之 time,datetime,collections
- MyBatis笔记(一) 最简单的select
- session随笔
- 机器学习中数据清洗&;预处理
- java 程序运行过程 简介
- 从GitHub远程仓库中删除文件夹或文件
- springboot使用redis的配置application.yml连接池以及存取
- ubuntu-docker入门到放弃(二)docker初探(基本用法及命令)
- @repository的含义,并且有时候却不用写,为什么?
- error 'there is already an open datareader associated with this command which must be closed first'
- 我是一名IT小小鸟
热门文章
- javascript获取当前url
- web前端基础知识 - Django进阶
- c 头文件<;ctype.h>;(一)
- 转Windows Phone8.1 获取手机唯一识别码
- 《玩转D语言系列》三、轻松大跃进,把它当C语言先用起来
- 夺命雷公狗-----React---25--小案例之react经典案例todos(单选框的修改)
- 【转】python中的正斜杠、反斜杠
- mbed学习之Digital IO (一)
- SQL Server 参数化 PARAMETERIZATION
- VM环境下,快速复制多个SQLServer实例,环境调整