云南大学软件学院数据结构实验.doc

云南大学软件学院数据结构实验.doc

ID:56758045

大小:250.00 KB

页数:11页

时间:2020-07-07

云南大学软件学院数据结构实验.doc_第1页
云南大学软件学院数据结构实验.doc_第2页
云南大学软件学院数据结构实验.doc_第3页
云南大学软件学院数据结构实验.doc_第4页
云南大学软件学院数据结构实验.doc_第5页
资源描述:

《云南大学软件学院数据结构实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.云南大学软件学院数据结构实验报告实验难度:A□B□C□序号学号成绩指导教师(签名)学  期:  2017秋季学期任课教师:    实验题目:组员及组长:   承担工作:   联系:      电子: 完成提交时间:年月日Word资料. 一、【实验构思(Conceive)】(10%)(本部分应包括:描述实验实现的基本思路,包括所用到的离散数学、工程数学、程序设计等相关知识,对问题进行概要性地分析)魔王语言的解释规则:大写字母表示魔王语言的词汇,小写字母表示人的词汇语言,魔王语言中可以包含括号,魔王语言的产生式规则在程序

2、中给定,当接收用户输入的合法的魔王语言时,通过调用魔王语言翻译函数来实现翻译。在A的基础上,(根据产生式)自定义规则,将一段魔王的话翻译为有意义的人类语言(中文):输入wasjg,则魔王语言解释为“我爱数据结构”。运用了离散数学的一些基本知识及程序设计知识。二、【实验设计(Design)】(20%)(本部分应包括:抽象数据类型的定义和基本操作说明,程序包含的模块以及各模块间的调用关系,关键算法伪码描述及程序流程图等,如有界面则需包括界面设计,功能说明等)//---------------抽象数据类型的定义-------

3、-----------//#defineSTACK_INIT_SIZE50#defineSTACKINCREMENT10#defineOVERLOW-2#defineERROR-1typedefstruct{char*base;//顺序栈的栈底指针inttop;//顺序栈的栈顶intsize;//栈元素空间的大小}SqStack;//结构体类型顺序栈typedefstruct{char*base;intfront;intrear;}SqQueue;//结构体类型队列//---------------各个模块功能的描述-

4、-----------------//voidInit_SqStack(SqStack&s)//初始化顺序桟voidPush_SqStack(SqStack&s,charc)//压入数据Word资料.intPop_SqStack(SqStack&s,char&e)//出桟charGetTop_SqStack(SqStacks)//或得栈顶intIsEmpty_SqStack(SqStacks)//判断是否空栈voidInit_SqQueue(SqQueue&q)//初始化voidEn_SqQueue(SqQueue&q

5、,charc)//进队列intDe_SqQueue(SqQueue&q,char&e)//出队列voidTranslate(charc)//打印字符voidReverse(charstr[],charstrtmp[])//将字符串反向intExecute(charch[],SqStack&s,SqQueue&q)//魔王语言操作调用关系:三、【实现(Implement)】(30%)(本部分应包括:抽象数据类型各操作的具体实现代码、关键操作的具体算法实现、函数实现,主程序实现等,并给出关键算法的时间复杂度分析。如有界面则

6、需包括界面的关键实现方法等。)主程序模块:intmain(){charch[100];charch1[100];charch2[100];chare;//********************************************************英文解密printf("请输入魔王语言:");gets(ch);SqStacks;SqQueueq;Init_SqStack(s);Word资料.Init_SqQueue(q);if(Execute(ch,s,q)==1){while(De_SqQueue(

7、q,e)==1){Translate(e);}}elseprintf("输入的括号不匹配!");//左括号比右括号多,不匹配//********************************************************中文解密printf("");printf("请输入魔王语言:");gets(ch1);Init_SqStack(s);Init_SqQueue(q);Reverse(ch1,ch2);{for(inti=0;ch2[i]!='';i++)Push_SqStack(s,ch2

8、[i]);while(Pop_SqStack(s,e)==1){switch(e){case'w':printf("我");break;case'a':printf("爱");break;case's':printf("数据");break;case'j':printf("结");break;case'g':printf("构")

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

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

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