数据结构小论文

数据结构小论文

ID:41680218

大小:98.85 KB

页数:5页

时间:2019-08-29

数据结构小论文_第1页
数据结构小论文_第2页
数据结构小论文_第3页
数据结构小论文_第4页
数据结构小论文_第5页
资源描述:

《数据结构小论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、表达式求值运算、数据结构的概念数据结构是计算机存储、组织数据的方式。数据结构是指相互之问存在一种或多种特定关糸的数据元素的集合。通帝情况下,精心选择的数据结构可以带来灵壽的运行或者存储赦率。数据结构往往同壽效的松素算法和素引技术有关。根据数据元素间关糸的不同特性,通常有下列四类塞本的结构:(7丿集合结构。该结构的数据元素间的关糸是“厲于同一个集合"。⑵线性结枸。该结枸的数据元素之间存在着一对一的关糸。⑶树型结构。该结枸的数据元素之间存疵着一对多的关糸。⑷图形结构。该结构的数据元素之间存亦着多对多的关纟,也称网状结构。帝用结构有链表、栈、队列、

2、教纽、树、图、堆、散列表。二、运用的数据结构——栈栈是只能在禁一端插入和刪除的特珠线性表。它按照先进后出的原则存储数据,丸进入的数据彼压入栈底,最后的数据在栈顶,需要读数据的肘候从栈顶开始弹出数据,即最后一个教据彼第一个读出来。三、构建的数学離型算术表达式求值算法栈的顺序存储模块处理表达式主体検块判断优先级模块运算模块岀栈模块进栈模块咏程序代码#incIude,fstdio.hH#incIude#incIude#incIude〈string>usingnamespacestd;intin(charc){swi

3、tch(c){case1+1:case'-':case*:case'/':case":case')1:case#:return1;default:return0;}}〃判断c是否是运算符charprecede(char11rchar12){charf;switch(t2){case1+1:case'-':if二二'('

4、

5、廿二二'#')eIsebreak;case'*':case1/1:if(t1==,*1

6、

7、t1=='/'

8、

9、t1==*)*)f=,>,;eIsef=,<,;break;case*(*:if(t1==')*){printf("

10、inputerror“);return(0);}eIsef=,<,;break;case')f:switch(t1){case'(':f二'二';break;case#:printfCinputerror、n");return(0);default:f='>';)break;case'#':switch(t1){case*#*:f=,=,;break;case1(f:printf("inputerror、n");return(0);default:仁'>';}}returnf;}//判断两个运算符的优先级intoperate(intb,c

11、hartheta,inta){intc;switch(theta){case*+':c二(a+b);break;case1-1:c=(a-b);break;case'*':c=(a*b);break;case'/*:c二(a/b);}returnc;}〃对两个操作数进行计算,theta是运算符intevaIuateexpress(){stackopnd;//声明了1个存储int型元素的栈,存储操作数opndstackoptr;//声明了1个存储char型元素的栈,存储运算符optrchartheta,c[100];cha

12、rd[]={•#•,''};//将#放入定义的d数组inta,x,b;//初始化操作数a,x,bcharn;optr.push('#');cin»c;strcat(c,d);//合并c,d数组,输入算术表达式时不用在末尾输入#inti二0;while(c[i]!=*'){if(!in(c[i])){c[i]-=f(r;intm;m二c[i];intj=i+1;if(!in(c[j])){cljZO1;m=m*10+c[j];i++;}opnd.push(m);i++;}eIse{n=optr.top();switch(precede(

13、n,c[i])){//c[i]尚未入栈,n是运算符栈的栈顶元素case'<':optr.push(c[i]);break;case'=':optr.pop();break;case'>':theta=optr.top();optr.pop();a=opnd.top();opnd.pop();b二opnd.top();opnd.pop();opnd.push(operate(a,theta,b));continue;}i++;}x二opnd.top();opnd.pop();returnx;}intmain(){intn二evaIuateexp

14、ress();cout«''«n;}五、结果截图输入数据:1、1+(20+4丿/C4-1J2,2伙9-6-(20+4丿/(4-1J六、总结程序设计肘,不要怕遇到

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。