数据结构与算法JavaScript描述——栈的使用

- //============================使用Stack类====================================
- /**
- * 1.数制间的相互转换
- */
- 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;
- }
- //下面展示了如何使用该方法将数字转换为二进制和八进制数。
- var num = 32;
- var base = 2;
- var newNum = mulBase(num, base);
- console.log(num + " converted to base " + base + " is " + newNum);
- num = 125;
- base = 8;
- var newNum = mulBase(num, base);
- console.log(num + " converted to base " + base + " is " + newNum);
打印如下:
- //============================使用Stack类====================================
- /**
- * 2.判断给定字符串是否是回文
- */
- 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();
- }
- if(word == rword){
- return true;
- }else{
- return false;
- }
- }
- //测试代码:
- var word = "hello";
- if (isPalindrome(word)) {
- console.log(word + " is a palindrome.");
- }else {
- console.log(word + " is not a palindrome.");
- }
- word = "racecar";
- if (isPalindrome(word)) {
- console.log(word + " is a palindrome.");
- }else {
- console.log(word + " is not a palindrome.");
- }
打印:

- //============================使用Stack类====================================
- /**
- * 3. 使用栈模拟递归过程
- */
- 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)); // 显示120
数据结构与算法JavaScript描述——栈的使用的更多相关文章
- 数据结构与算法JavaScript描述——栈
栈就是和列表类似的一种数据结构,它可用来解决计算机世界里的很多问题. 栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作很快,而且容易实现. 栈的使用遍布程序语言实现的方方面面,从表 ...
- 《数据结构与算法JavaScript描述》
<数据结构与算法JavaScript描述> 基本信息 作者: (美)Michael McMillan 译者: 王群锋 杜欢 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9 ...
- 翻阅《数据结构与算法javascript描述》--数组篇
导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScript 中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性 ...
- 数据结构与算法javascript描述
<数据结构与算法javascript描述>--数组篇 导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScri ...
- 列表的实现-----数据结构与算法JavaScript描述 第三章
实现一个列表 script var booklist = new List(); booklist.append('jsbook'); booklist.append('cssbook'); book ...
- 《数据结构与算法JavaScript描述》中的一处错误
最近在看<数据结构与算法JavaScript描述>这本书,看到选择排序这部分时,发现一个比较大的错误. 原书的选择排序算法是这样的: function selectionSort() { ...
- 数据结构与算法 Javascript描述
数据结构与算法系列主要记录<数据结构与算法 Javascript描述>学习心得
- 数据结构与算法JavaScript (一) 栈
序 数据结构与算法JavaScript这本书算是讲解得比较浅显的,优点就是用javascript语言把常用的数据结构给描述了下,书中很多例子来源于常见的一些面试题目,算是与时俱进,业余看了下就顺便记录 ...
- 栈--数据结构与算法Javascript描述(4)
栈 Stack 概念 栈是一种高效的数据结构,数据只能在栈顶添加或者删除,所以这样的操作很快,而且容易实现.栈的使用遍布程序语言的方方面面,从表达式求值到处理函数调用. 栈是一种特殊的列表,栈内的元素 ...
随机推荐
- 通过Fegin远程调用 ,返回JPA Page 对象报错
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of org.sp ...
- compass框架的sprite雪碧图的用法简要
---恢复内容开始--- **简介** CSS SPRITE 即 CSS雪碧,即是将诸多图片合成一张图片,然后使用CSS 的background和background-position属性渲染. 这样 ...
- week13《java程序设计》第13次作业总结
week13<java程序设计>第13次作业总结 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 答: 1.IP与端口:ip和域名相对应,可找 ...
- 各个数据库中top 的表示方法
Select Top在不同数据库中的使用用法: 1. Oracle数据库 SELECT * FROM TABLE1 WHERE ROWNUM<=N 2. Infomix数据库 SELECT FI ...
- JSP和JS的区别
从本科毕业设计开始就一直困扰我,jsp和js这两者的区别,一直处于迷糊状态,也没有搞清楚.今天就简单的介绍下两者的区别. 1.JSP全称是java server page JS全称是javaSc ...
- Openlayers3中实现地图的切割
概述: 本文讲述如何在Openlayers3中结合canvas实现对地图的切割. 效果: 全图 切割北京区域 切割河北区域 实现: <html xmlns="http://www.w3 ...
- Ubuntu与ROS的Docker桌面系统与ROS在线练习课程(在线Linux虚拟机)
ROS在线练习课程正在逐步完善中,目前以ROS官网中文资料制作,可参考: https://www.shiyanlou.com/courses/854 邀请码 U23ERF8H 安装Ubuntu+RO ...
- CSS样式让元素填充剩余部分为自己的高度或宽度
#nav { background-color: #85d989; width: 100%; height: 50px; } #content { background ...
- ios PageControl and UIScrollView
// // AlbumViewController.m // HwangKop08.18 // // Created by rimi on 15/8/20. // Copyright (c) ...
- sublime忽略打开工程中某些文件夹,不在搜索之列
{ "folders": [ { "follow_symlinks": true, "path": ".", " ...