《数据结构》
课程设计报告。
安徽工业大学计算机学院。
2024年6月。
利用栈实现迷宫问题的求解。
一、问题描述。
以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和墙壁。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出米有通路的结论。
2、设计思路。
1)以二维数组maze[m][n]表示迷宫,数组中元素值为0表示通路,1表示障碍。
2)其中迷宫的入口位置和出口位置默认于maze数组的起始元素位置和最后个元素位置。
3)以链表作存储结构的栈类型,实现求解迷宫的非递归程序。
三、数据结构定义。
typedef struct,1,0,1,1,1,0,1,1,1,1},1,0,0,0,0,1,1,1,1,1},1,0,1,0,0,0,0,0,1,1},1,0,1,1,1,0,0,1,1,1},1,1,0,0,1,1,0,0,0,1},1,0,1,1,0,0,1,1,0,1},1,1,1,1,1,1,1,1,1,1}};
typedef struct,,,
typedef struct
int pop_seqstack(pseqstack p,datatype *x)
if(empty_seqstack(p))
return 0;
elsevoid destroy_seqstack(pseqstack *p)
if(*p)
free(*p);
*p=null;
return;
int mazepath(int maze[n+2],item move,int x0,int y0)
pseqstack s;
datatype temp;
int x,y,d,i,j;
s=init_seqstack();
if(!s)
push_seqstack(s,temp);
while(!empty_seqstack(s))
destroy_seqstack(&s);
return 0;
int main()
mazepath(maze,move,1,1);
return 0;
五、运行及调试分析。
六、课程设计总结等。
在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在做设计程序实验时,这将使你做的难度加大,浪费宝贵的时间。使你事倍功半。做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做。
通过这次程序设计的实验,使我们学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们们受益匪浅。
大数相乘。1、问题描述。
本问题中,要求输入两个相对较大的正整数,能够通过程序计算出其结果。
2、设计思路。
1.输入阶段采用一维数组a,b
在输入阶段当大数输入时,大数a,b从高位到低位分别依次存入数组a[ ]b[ ]
2.调用函数计算阶段采用一维数组c[ ]
在计算过程中,由个位到高位依次计算各位的结果,并依次存入数组c[ ]中。
3、数据结构定义。
int x[n],y[n],z[n*n];
四、程序清单。
#include <>
#include <>
#define n 80
void mul(int *x,int *y,int *z)
int i,j;
for(i=0;i<2*n;i++)
z[i]=0;
for(i=0;i for(j=0;jz[i+j]+=x[i]*y[j];
for(i=0;i<2*n-1;i++)
void rev(char *s,int *n)
int i=0,j=strlen(s)-1;
while(j>=0)
n[i++]s[j--]0';
void inixy(int *x, int *y)
int i;
for(i=0;i x[i]=y[i]=0;
int main()
char a[n],b[n];
int x[n],y[n],z[n*n];
int i=2*n-1;
gets(a);
gets(b);
inixy(x,y);/初始化
rev(a,x);/
rev(b,y);/
mul(x,y,z);/
while(!z[i--]
i++;while(i>=0)
printf("%d",z[i--]
printf("");
return 0;
五、运行及调试分析。
六、课程设计总结。
回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。
数据结构课程设计
课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...
数据结构课程设计
数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...
数据结构课程设计
班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...