资源描述:
《数据结构小论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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六、总结程序设计肘,不要怕遇到