《数据结构》课程设计报告 排序算法比较 算术表达式求值 联系客服

发布时间 : 星期二 文章《数据结构》课程设计报告 排序算法比较 算术表达式求值更新完毕开始阅读953520f6ba0d4a7302763ade

数据结构课程设计——排序算法比较、表达式求值 080910119

temp=temp*10 + ch-'0'; //将逐个读入运算数的各位转化为十进制数 ch=str[j]; j++; } Pushn(OPND,temp); } else if (Isoperator(ch)) //判断是否是运算符,不是运算符则进栈

switch (Precede(e,ch)) {

case '<' : Push(OPTR,ch); // 栈顶元素优先权低 ch = str[j++]; printf(\运算符栈为:\\n\ //输出栈,显示栈的变化 StackTraverse(OPTR); printf(\运算数栈为:\\n\ StackTraversen(OPND); break; case '=' : Pop(OPTR,op); // 脱括号并接收下一字符 ch = str[j++] ; printf(\运算符栈为:\\n\ StackTraverse(OPTR); printf(\数栈为:\\n\ StackTraversen(OPND); break; case '>' : Pop(OPTR,op); //弹出最上面两个,并运算,把结果进栈 Popn(OPND,b); Popn(OPND,a); Pushn(OPND,Operate(a,op,b)); printf(\运算符栈为:\\n\ StackTraverse(OPTR); printf(\数栈为:\\n\ StackTraversen(OPND); }

else {

printf(\您的输入有问题,请检查重新输入!\ exit(0); }

第 33 页 共 35 页

数据结构课程设计——排序算法比较、表达式求值 080910119

GetTop(OPTR,e); //取出运算符栈最上面元素是否是'#'

} //while

GetTopn(OPND,answer); //已输出。数字栈最上面即是最终结果 return answer; }

//======================================================== // 执行部分

//======================================================== void ShowMenu() { printf(\ printf(\\\n\ printf(\ ██\\n\ printf(\ 表达式求值系统 ██\\n\ printf(\ ██\\n\ printf(\\\n\}

void Quit(); void Manage() { int answer; // ShowMenu(); answer=EvaluateExpression(); printf(\表达式结果是: %d\\n\ Quit(); }

void Quit() { char ch;

printf(\ 本次运算结束。\\n\ printf(\ 继续本系统吗?\\n\\n\ printf(\继续运算请按Y/y \ printf(\退出程序请按N/n \ printf(\

\\n___________________________________________________________________\\n\ ch=getch(); ch=toupper(ch); //将ch字符转换成大写字母

第 34 页 共 35 页

数据结构课程设计——排序算法比较、表达式求值 080910119

if(ch == 'N') { printf(\系统退出。\\n\ exit(0); } Manage(); }

int main() { ShowMenu(); Manage(); return 0; }

感想体会与总结

好的算法+编程技巧+高效率=好的程序。

1、做什么都需要耐心,做设计写程序更需要耐心。一开始的时候,我写函数写的很快,可是等最后调试的时候发现错误很隐蔽,就很费时间了。后来我先在纸上构思出函数的功能和参数,考虑好接口之后才动手编,这样就比较容易成功了。

2、做任何事情我决定都应该有个总体规划。之后的工作按照规划逐步展开完成。对于一个完整的程序设计,首先需要总体规划写程序的步骤,分块写分函数写,然后写完一部分马上纠错调试。而不是像我第一个程序,一口气写完,然后再花几倍的时间调试。一步步来,走好一步再走下一步。写程序是这样,做项目是这样,过我们的生活更是应该这样。

3、感觉一开始设计结构写函数体现的是数据结构的思想,后面的调试则更加体现了人的综合素质,专业知识、坚定耐心、锲而不舍,真的缺一不可啊。

4、通过这次课设,不仅仅复习了C语言相关知识、巩固了数据结构关于栈和排序的算法等知识,更磨练了我的意志。

第 35 页 共 35 页