中缀表达式转后缀表达式并求值c++数据结构链栈应用(Infix to postfix expression evaluation c++ data structure chain stack application).docVIP
- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中缀表达式转后缀表达式并求值c数据结构链栈应用(Infixtopostfixexpressionevaluationcdatastructurechainstackapplication)
中缀表达式转后缀表达式并求值c++数据结构链栈应用(Infix to postfix expression evaluation c++ data structure chain stack application)
#定义尺寸40
#包括字符串。”
#包括 iostream。”
#包括程序。”
#定义MaxSize 32
typedef char qelemtype;
typedef struct
{
qelemtype *基地;/ /指向队列的存储空间;
在前面;/ /指向队头元素;
在后;/ /指向队尾元素的下一位置;
} SqQueue;
结构中结点的定义
{
int数据;
指向同结构的结点;
}斯诺德* LinkStack;
无效destroylinstack(将是)
{ //销毁链栈S.
将温度= S,P;
而(临时)
{
温度;
下一个;
免费(P);
}
}
无效(将推的,字符x)
{ //入栈。
将温度=(LinkStack)malloc(sizeof(斯诺德));
温度数据= x;
下一步;
s =下一个;
}
无效的流行(将 S,char和X)
{ //出栈。
将温度= S -下;
x =温度数据;
下一个;
免费(临时);
}
int GetTop(将是)
{ //读栈顶元素。
int x;
如果(下一个)
x =下一个数据;
其他的
cout “栈空” endl;
返回x;
}
无效initstack(将是)
{
S =(LinkStack)malloc(sizeof(斯诺德));
如果(!S)
{
cout “alloctation错误” endl;
出口(1);
}
s =下一个= 0;
}
int InitQueue(sqqueue Q)
{ //队列的初始化;
q.front = q.rear = 0;
q.base =(qelemtype *)malloc(MAXSIZE * sizeof(qelemtype));
如果(!Q.base)
出口(1);
q.base [ q.front ] =“0”;
返回1;
}
int QueueLength(sqqueue Q)
{ //计算队列的长度;
返回(q.rear-q.front + MAXSIZE)%为;
}
无效的EnQueue(sqqueue Q,Qelemtype X)
{ //入队;
如果(QueueLength(Q)= = MAXSIZE)
{
cout “入队错误” endl;
返回;
}
q.base [ q.rear + +] = x;
}
无效dispqueue(sqqueue Q)
{ //输出队列的所有元素;
int i = 0,J = q.front;
(我在队长(Q))
{
cout q.base [J].;
如果(q.base [J] = 48和q.base [J] = 57和q.base [ 1 ] = 48和q.base [ J ] = 57)
cout “”;
++;
++;
}
}
无效destroyqueue(sqqueue Q)
{
/ /队列的销毁;
删除[ ] Q.base;
q.base = 0;
q.front = q.rear = 0;
返回;
}
int StackEmpty(将是)
{ //判断栈是否为空。
返回(s =下一个= 0);
}
int优先级(字符行)
{
开关(操作)
{
案例:
返回0;
案例+:
案例“-”:
返回1;
案例*:
案例“/”:
返回2;
}
}
无效convertpostexp(字符指针,sqqueue后)
{
字符集;
int i = 0,K = strlen(str);
将S;
Initstack(S);
推(s,‘());
InitQueue(后);
而我| | K(!StackEmpty(S))
{
C + + + +;
开关(c)
{
案例0:
案例1:
案例2:
案例3:
案例4:
案例5:
案例6:
案例7:
案例8:
案例9:
EnQueue(后,C);
打破;
案例:
推(s,c);
打破;
案例“”:
“案例”:
做{
流行音乐(s,t);
如果(t!=“()
EnQueue(后,T);
}(t!=“!StackEmpty(S));
打破;
案例+:
案例“-”:
案例*:
案例“/”:
而(优先(C)=优先级(GetTop()))
{
流行音乐(s,t);
EnQueue(后,T);
}
推(s,c);
打破;
}
++;
}
destroylinstack(S);
}
节点结构体/定义两个两个栈,存放字符
{
字符*基;
char * / /头指针顶;
数组的大小;
};
结构/整数栈列表
{
浮底;
浮上;
数组
您可能关注的文档
- _三国演义(情节熟记)(_ Three Kingdoms (by plot)).doc
- ●收房验房全攻略(专家级别的哦!!)不容易找到哈!!(- the home inspection Raiders (expert level!!) is not easy to find!!).doc
- 《20 小熊住山洞》教学设计(Teaching design of 20 bears live in caves).doc
- 《 校区联盟条约 》(School district alliance treaty).doc
- 《fami通》11款满分的游戏(Fami pass 11 out of the game).doc
- [知识城起步区人工湖雨洪调蓄工程、知识城流沙河整治工程](The knowledge of the city starting area of artificial lake rainwater storage project, Liu Shahe City knowledge renovation project]).doc
- 《三国志刘备传》(Liu Bei biography of the Three Kingdoms).doc
- 《三国志11》pk中文版500武将特技补全补丁(Three Kingdoms 11 PK Chinese version 500 generals stunt complete patch).doc
- [转] 帅哥都用的100条甜言蜜语([turn] 100 sweet nothings used by handsome guys).doc
- 《三国演义》遗言(The last words of the romance of the Three Kingdoms).doc
- 初中英语人教版七年级上册第四单元Where is my schoolbag ! Section A .ppt
- 初中英语人教版七年级上册第四单元Where is my schoolbag Section B 2.ppt
- 初中英语人教版七年级下册 Unit 6 I'm watching TV. Section A 11a.pptx
- 注册土木工程师培训课件.ppt
- 初中生物济南版七年级上册第一章奇妙的生命现象 第三节生物学的探究方法.ppt
- 初中英语人教版七年级上册第四单元Where is my schoolbag Section B 2.pptx
- 注册安全工程师案例课件.ppt
- 初中物理人教版八年级上册第二章第4节噪声的危害和控制课件(共19张PPT).pptx
- 注册安全工程师王阳课件.ppt
- 初中数学青岛版八年级上2.4《线段的垂直平分线》课件(16张PPT).ppt
原创力文档


文档评论(0)