c++后缀表达式转中缀表达式简略实现

本文简要介绍了C++如何将后缀表达式转换为中缀表达式,作者主要实现了基本的加减乘除和括号操作,并使用1+2*3+(4*5+6)*7作为测试用例。代码实现未涵盖更复杂的测试场景。
摘要由CSDN通过智能技术生成


一,中缀后缀表达式转换原理,网上的相关解释很多,我参考的是这一篇

链接直接跳转到我参考的文章

二,中缀表达式转后缀表达式的实现

我只实现了基本的+-*/()这几个符号,以后自己如果需要可能会加

我用的是1+2*3+(4*5+6)*7这个表达式进行测试,本人较懒,不打算测试更多

话不多说,贴代码

//
// Created by jiahang on 2018/5/23.
// 完成简单的后缀表达式,可以进行+-*/的后缀表达式生成
// 存在一些cast问题,没有处理
//
#include <iostream>
#include <string>
#include <stack>

using namespace std;
void suffix() {
    int value = 0;
    stack<char> s;
    string input;
    cin >> input;
    for (int i = 0; i < input.length(); i++) {
        int j = i;
        value = 0;
        bool hasNumber = false;
        //从input的起点开始,进行判断
        for (; j < input.length(); j++) {
            //从字符串中读取数字
            if (input.at(j) <=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值