- 50
- 0
- 约2.24千字
- 约 5页
- 2021-07-30 发布于山东
- 举报
2数据结构实验报告二栈和队列及其应用
2数据结构实验报告二栈和队列及其应用
PAGE / NUMPAGES
2数据结构实验报告二栈和队列及其应用
文档根源为 :从网络采集整理 .word 版本可编写 .支持 .
实验二 栈和行列及其应用
一、实验目的
掌握栈和行列这两种抽象数据种类的特色,并能在相应的应用问题中正确采用它们。
娴熟掌握栈种类的两种实现方法。
娴熟掌握循环行列和链行列的基本操作实现算法。
二、实验内容
用行列求解迷宫问题
[ 问题描绘 ]
以一个 M*N的长方阵表示迷宫, 0 和 1 分别表示迷宫中的通路和墙壁。设计
一个程序,对随意设定的迷宫, 求出一条从进口到出口的通路, 或得出没有通路
的结论。
[ 基本要求 ]
实现一个以次序储存构造的行列种类, 而后编写一个求解迷宫的非递归途序。 求得的通
路以三元组( i ,j ,pre)的形式输出,此中: ( i, j)指示迷宫中的一个坐标, pre 表示本路
径中上一个方块在行列中的下标。
[ 测试数据 ] 由学生随意指定。
三、源代码
# include stdio.h
#define M 5 // 行数
#define N 5 // 列数
#define MaxSize 100 // 队最多元素个数
int mg[M+2][N+2]={ // 一个迷宫 , 其周围要加上均为 1 的外框 {1,1,
{1,1,1,1,1,1,1},
{1,0,0,0,0,0,1},
{1,0,1,0,0,1,1},
1
文档根源为 :从网络采集整理 .word 版本可编写 .支持 .
{1,0,1,0,0,1,1},
{1,0,1,0,1,0,1},
{1,0,0,0,0,0,1},
{1,1,1,1,1,1,1}
};
typedef struct
{int i,j;
int pre;}
Box;
typedef struct
{
Box data[MaxSize];
int front, rear;
}QuType;
void mgpath1(int xi,int yi,int xe,int ye) // 搜寻路径为:( xi ,yi ) -(xe,ye)
{ void print (QuType qu, int front );
int i,j,find=0,di;
QuType qu; // 定义次序队
qu.front=qu.rear=-1;
qu.rear++;
qu.data[qu.rear].i=xi; //(xi,yi) 进队
qu.data[qu.rear].j=yi;
qu.data[qu.rear].pre=-1;
mg[xi][yi]=-1;
while(qu.front!=qu.rear!find)
{qu.front++;
i=qu.data[qu.front].i;j=qu.data[qu.front].j;
if(i==xej==ye)
{find=1;
print(qu,qu.front);
2
文档根源为 :从网络采集整理 .word 版本可编写 .支持 .
}
for
(di=0;di4;di++)
{
switch(di)
{
case
:i=qu.data[qu.front].i-1;j=qu.data[qu.front].j;break; case
:i=qu.data[qu.front].i;j=qu.data[qu.front].j+1;break; case
:i=qu.data[qu.front].i+1;j=qu.data[qu.front].j+1;break; case
:i=qu.data[qu.front].i;j=qu.data[qu.front].j-1;break;
}
if(mg[i][j]==0)
{find=1;
qu.rear++;
qu.data[qu.rear].i=i; qu.data[qu.rear].j=j;
qu.data[qu.rear].pre=qu.front;
mg[i][j]=-1;
}
}
}
}
void print (QuType qu, int front )
{
int k=front,j,ns=0;
printf(\n);
do
3
文档根源为 :从网络采集整理 .word 版本可编写 .支持 .
{j=k;
k=qu.data[k].pre;
qu.data[j].pre=-1;
}
while (k!=0);
printf( 迷宫路径以下: \n);
k=0;
while(kMaxSize)
{
if(qu.data[k].pre==-1)
{
ns++;
printf(\t(%d,%d),qu.data[k].i,qu.data[k].j);
if(n
您可能关注的文档
最近下载
- 明代宗教信仰与思想控制.docx VIP
- 江苏省南通市2024-2025学年高二上学期期末学业质量监测语文试卷(含答案).pdf VIP
- 国就有成人演出的电影了?想看就要冒生命危险.pdf VIP
- 综合素质练习题及答案.doc VIP
- 2020-2021学年北京高三化学二轮复习 反应原理型简答题(突破二卷)(word版 含答案).docx VIP
- 电力拖动控制线路安装与检修(白银矿冶职业技术学院)知到智慧树答案.docx VIP
- 煤炭巷道掘砌工(高级工)资格考试题库(全真题库).docx VIP
- 影像叙事中情感共鸣生成机制.docx VIP
- 同轴二级圆柱齿轮减速器的设计(硬齿面).doc VIP
- 基于GPU多线程多通道图像高速重构方法、设备及介质.pdf VIP
原创力文档

文档评论(0)