zoukankan      html  css  js  c++  java
  • 前缀表达式 (递归)

    先说一下递归的作用:
    1.替代多重循环
    2.解决本来就是递归形式定义的问题
    3.将问题分解为规模更小的子问题进行求解

    本题中“前缀表达式”的定义:
    1) 一个数是一个前缀兰表达式,值为该数
    2)“运算符  前缀表达式  前缀表达式" 是逆波兰表达式,值为两个前缀表达式的值运算的结果
    因为前缀表达式的定义本身就是递归的,所以可以用递归来解决它

    #include <iostream>
    #include <cstdlib>
    
    using namespace std;
    
    double exp()
    {
        char s[20];
        cin>>s;
        switch(s[0])
        {
            case '+': return exp()+exp();
            case '-': return exp()-exp();
            case '*': return exp()*exp();
            case '/': return exp()/exp();
            default: return atof(s);
            break;
        }
    }
    
    int main()
    {
        cout<<exp();
        return 0;
    }
    
    



  • 相关阅读:
    基本排序算法汇总
    贪心算法题目汇总
    STL中sort
    栈和队列题目汇总
    cron 计划任务 在线配置
    各种less概念通俗解释
    node 子线程 进程
    内存池
    RPC简介
    koa express 对比
  • 原文地址:https://www.cnblogs.com/zhanyeye/p/9746110.html
Copyright © 2011-2022 走看看