棧應用 表示式求值

2021-06-14 15:44:46 字數 949 閱讀 5519

#include "stdafx.h"

#include using namespace std;

const int explenght=20;

const int stack_init_size=20;

const int stack_incrment=10;

templateclass stack

~stack()

void push(elemtype e)

*(m_top)=e;

m_top++;

m_item++;

} void pop(elemtype &e)

int size()

bool empty()

private:

elemtype *m_base;

elemtype *m_top;

int m_size;

int m_item;

};void changeexp(char *inexp,char *sufexp)//中綴轉字尾

char e=inexp[i++];

if(e>='0'&&e<='9')

if('*'==e||'/'==e||'('==e)

stack.push(e);

else if(')'==e)

}else if('+'==e||'-'==e)

if('('==c)

stack.push(c);

stack.push(e);

} }}int calculate(char *exp)//計算表示式的值

} i++;

} int result;

stack.pop(result);

return result;

}int _tmain(int argc, _tchar* argv)

棧應用 表示式求值

include include define length 100 初始分配棧的長度 define add len 10 棧長增量 typedef struct 定義字元棧 sqstack void initstack sqstack s 初始化乙個棧 void push sqstack s,int...

表示式求值 棧的應用

表示式求值 西西設計的機械人卡多掌握了加減法運算以後,最近又學會了一些簡單的函式求值,比如,它 知道函式min 20,23 的值是20 add 10,98 的值是108等等。經過訓練,西西設計的機械人卡多 甚至會計算一種巢狀的更複雜的表示式。假設表示式可以簡單定義為 1.乙個正的十進位制數 x 是乙...

棧的應用 表示式求值

include include include define true 1 define flase 0 define ok 1 define error 0 define overflow 1 define stack size 100 define stackincrement 10 typed...