<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
function Stack(){
this.arr = [];
this.top = 0;
this.push = push;
this.pop = pop;
this.peek = peek;
this.length = length;
this.clear = clear;
}
function push(ele){
this.arr[this.top++] = ele;
} function pop(){
var value = this.arr[this.top-1];
this.arr.pop();
this.top--;
return value;
} function peek(){
return this.arr[this.top-1];
}
function length(){
return this.top;
}
function clear(){
this.top = 0;
this.arr = [];
} var s = new Stack();
s.push("zhangsan");
s.push("lisi");
s.push("wangwu");
s.push("zhaoliu"); console.log(s.length());
console.log(s.pop());
console.log(s.arr);
console.log(s.peek());
console.log(s.arr);
s.clear();
console.log(s.arr); // 应用 将数字转换为二到九进制: 无法转换16进制
function mulBase(num,base){
var s = new Stack();
do{
s.push(num%base);
num = Math.floor(num /= base);
}while (num>0); var converted = '';
while(s.length() > 0 ){
converted += s.pop();
}
return converted;
} console.log(mulBase(11,3)); //判断字符串回文
function isPalindrome(word){
var s = new Stack();
for(var i=0;i<word.length;i++){
s.push(word[i]);
}
var rword ='';
while(s.length()>0){
rword += s.pop();
}
return word == rword;
} console.log(isPalindrome("hello"));
console.log(isPalindrome("elle")); //使用栈模拟递归
function fact(n){
var s = new Stack();
while(n>1){
s.push(n--);
}
var product = 1;
while(s.length() >0 ){
product *=s.pop();
}
return product;
} console.log(fact(5));
</script>
</body>
</html>

最新文章

  1. [BI项目记]-搭建代码管理环境之创建团队项目
  2. Neil&#183;Zou 语录二
  3. linux进程命令
  4. jQuery String Functions
  5. .net学习之Attribute特性和EF关键知识点
  6. ios webview中关于宽高的总结
  7. DIRECTORY_SEPARATOR 和 PATH_SEPARATOR的区别
  8. SQL Server 2008 Windows身份验证改为混合模式身份验证
  9. 58.xilinx原语DCM,PLL的使用
  10. session与缓存
  11. hdu 3450 树状数组
  12. OC类的本质,深入探讨,load方法和initialize方法
  13. POJ 3369 Meteor Shower (BFS,水题)
  14. Android应用----如何让应用全屏
  15. KVO奥秘
  16. 虚拟WiFi
  17. 主席树初步 HDU2665的区间第k小
  18. Servlet底层原理、Servlet实现方式、Servlet生命周期
  19. 从零开始学安全(五)●Vmware虚拟机三种网络模式详解
  20. windows客户端走代理上网

热门文章

  1. android分屏
  2. spark配置文件和执行部分代码
  3. CentOS6.3安装MySQL5.5
  4. c# 生成二维码图片
  5. sharepoint excute power shell
  6. iOS Png Crush 错误
  7. 3. Python的种类
  8. python--类的约束,异常处理,MD5加密,日志处理logging模块
  9. Android 音视频开发入门指南
  10. 【OCP新题库】052最新题库解析-第5题