递归模拟演示--栈--《数据结构与算法》

简介: 递归模拟演示--栈--《数据结构与算法》

//递归模拟演示:阶乘

//下面是一个递归函数

function factorial(n){
    if(n===0){
        return 1
    }else{
        return n*factorial(n-1)
    }
}

//使用栈来模拟计算

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(factorial(5));
console.log(fact(5));

结果:

120
120


目录
相关文章
|
16天前
|
消息中间件 存储 搜索推荐
深入理解栈和队列(二):队列
深入理解栈和队列(二):队列
29 0
|
12天前
|
算法
算法系列--递归(一)--与链表有关(上)
算法系列--递归(一)--与链表有关
27 0
|
9天前
|
存储 算法 调度
数据结构期末复习(3)栈和队列
数据结构期末复习(3)栈和队列
17 0
|
15天前
|
存储 算法 搜索推荐
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
|
21天前
|
存储 缓存 算法
【算法与数据结构】栈的实现详解
【算法与数据结构】栈的实现详解
|
21天前
|
存储 算法 编译器
【数据结构】栈算法(算法原理+源码)
【数据结构】栈算法(算法原理+源码)
【数据结构】栈算法(算法原理+源码)
|
25天前
|
存储
【数据结构】什么是栈?
【数据结构】什么是栈?
26 0
【数据结构】什么是栈?
|
29天前
|
存储 设计模式 算法
【C/C++ 数据结构 线性表】深入理解与实现栈:从基础到应用的全面探索
【C/C++ 数据结构 线性表】深入理解与实现栈:从基础到应用的全面探索
52 0
|
30天前
|
存储 编解码 自然语言处理
【软件设计师备考 专题 】深入理解数据压缩、递归和图的相关算法
【软件设计师备考 专题 】深入理解数据压缩、递归和图的相关算法
64 0
|
30天前
|
存储
用队列和栈分别实现栈和队列
用队列和栈分别实现栈和队列
17 1