- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计
学 院:信息科学与工程学院
专 业: 计算机科学与技术
2008年 10月 20 日
数据结构课程设计
一、 说明:
1、课程设计题目均选自《数据结构习题集》,请你根据所给页码及题目查阅相应内容,任选其一确定自己设计的题目;
2、题目一般分为基本要求和选做内容,选做内容将作为答优的基本要求;
3、课程设计的成绩分为两部分:系统演示+设计报告。
4、演示部分的检查在12教803室,在课程设计结束后一周。
5、时间:第8周周一无课时间,第8周周六、周日8:00-12:00,1:00-5:00,第9周周一无课时间。地点12教五楼机房。
二、 题目:
P77: 0.3-海龟作图;
P80: 1.3-集合的并、交和差运算(或者1.4-长整数四则运算);
P105: 2.9-迷宫问题;
P152: 5.7-表达式类型的实现;
P153: 5.8-全国交通咨询模拟。
三、报告要求:完成以上实验内容并写出实验报告,报告应具有以下内容:
1、实验内容
2、概要设计
3、详细设计
4、测试数据及程序运行情况
5、实验过程中出现的问题及解决方法
6、实验体会
四、实验报告要求全部为打印稿,格式统一(见附件实验报告格式),在程序演示检查完成后一并教给老师。
五、课程设计期间有问题,请到12教803室找王永燕,周劲老师。
1、实验内容
3、详细设计
1)实现概要设计中定义的所有的类的定义及类中成员函数,并对主要的模块写出伪码算法。
Class T 无成员函数
Class LinkNode 无成员函数
Class Stack Stack(){ top=NULL; }
~Stack(){}
void Push(T e)
{
LinkNode *P;
P=new LinkNode;
P-data=e;
P-next=top;
top=P;}
T Pop()
{
T Temp;
LinkNode *P;
P=top;
top=top-next;
Temp=P-data;
delete P;
return Temp;
}
T GetPop()
{ return top-data; }
void Clear(); bool empty();
2)输入的形式和输入值的范围
int** GetMaze(int m,int n)
{
int **maze; //定义二维指针存取迷宫
int i=0,j=0;
cout请输入迷宫的长和宽:;
int a,b;cinab; //输入迷宫的长和宽
cout请输入迷宫内容:\n;
m=a;
n=b; //m,n分别代表迷宫的行数和列数
maze=new int *[m+2]; //申请长度等于行数加2的二级指针
for(i= 0;im+2;i++) //申请每个二维指针的空间
{
maze[i]=new int[n+2];
}
for(i=1;i=m;i++) //输入迷宫的内容,1代表可通,0代表不通
for(j=1;j=n;j++)
cinmaze[i][j];
for(i=0;im+2;i++)
maze[i][0]=maze[i][n+1]=1;
for(i=0;in+2;i++)
maze[0][i]=maze[m+1][i]=1;
return maze; //返回存贮迷宫的二维指针maze
};)(行坐标,列坐标,数字化方向,方向)cout(data.x,data.y,data.dir,; //输出行坐标,列坐标
switch(data.dir) //输出相应的方向 {
case 1:cout↓)\n;break;
case 2:cout→)\n;break;
case 3:cout↑)\n;break;
case 4:cout←)\n;break;
case 0:cout)\n;break;定义描述迷宫中当前位置的类型Class LinkNode 链表结点定义
其公有变量为:T data, next域
Class Stack 链栈存储定义及功能实现
主要函数功能:创建栈、进栈、出栈、取栈顶值、清空栈等。
int** GetMaze(int m,int n) 存取迷宫的二维指针函数,申请11行10列的指针空间,输入二位数组的内容,输入形式如上。完成后返回二维指针,得到二维数组。
bool Mazepath(int *
文档评论(0)