精华内容
下载资源
问答
  • 迷宫程序 数据结构 C语言,一个小小的迷宫程序希望对大家有帮助,谢谢
  • 数据结构实习用,MFC做的,包括地图的设定,自动寻路,非递归算法实现非常不错。
  • 这是一个用C语言编写的完整的迷宫程序,代码有详细注释,并且调试和运行都能正确进行。
  • 数据结构 c语言版迷宫程序 数据结构 c语言版迷宫程序
  • 数据结构迷宫程序

    2016-11-23 09:24:59
    迷宫
  • 数据结构 c语言做的迷宫程序 c语言做的迷宫程序
  • 数据结构 迷宫程序 mfc 实现多功能动态的迷宫操作
  • 数据结构迷宫求解代码,数据结构的课程设计,利用栈和数组实现迷宫
  • 数据结构的算法实现
  • 迷宫问题是取自心理学的一个古典实验在该实验中把一只老鼠从一个无顶大盒子的门放入在盒子中设置了许多墙对行进方向形成了多处阻挡盒子仅有一个...路线设计一个计算机程序对任意设定的矩形迷宫如下图A所示求出一条从入
  • 超酷的走迷宫程序_数据结构与算法_数据结构算法_C语言_
  • 迷宫程序,在数据结构中的表示,C语言版的
  • 基于MFC的迷宫程序数据结构上机交作业不可多得的程序.
  • 很好的设计,针对迷宫问题,可以借鉴一下的哦,
  • 数据结构 课程设计 迷宫求解代码。使用C/C++编写。
  • 根据数据结构课本上的迷宫问题,增加了图形化显示,增添迷宫规格自我输入,障碍自我输入的功能,随机输出一条可行路线,并没有使用深度或广度优先遍历。

    根据数据结构课本上的迷宫问题,增加了图形化显示,增添迷宫规格自我输入,障碍自我输入的功能,随机输出一条可行路线,并没有使用深度或广度优先遍历。

    #include<stdio.h>
    #include<stdlib.h>
    #include<malloc.h>
    #define maxsize 100
    int a[maxsize][maxsize];
    //定义栈 
    typedef struct
    {
    	int i;
    	int j;
    	int di;
    	int top;
    }St;
    //界面设置函数 
    int interface()
    {
    	for(int i=0;i<52;i++)
    	printf(" ");
    	for(int i=0;i<10;i++)
    	printf("★");
    	printf("\n");
    	for(int i=0;i<49;i++)
    	printf(" ");
    	printf("     欢迎来到我的迷宫     \n");
    	for(int i=0;i<52;i++)
    	printf(" ");
    	for(int i=0;i<10;i++)
    	printf("★");
    	printf("\n");
    	for(int i=0;i<33;i++)
    	printf(" ");
    	printf("游戏规则:玩家自定义迷宫大小,障碍物位置,系统随机为玩家寻路!");
    	 
     } 
    //自定义迷宫长宽,自定义障碍函数 
    int maze(int x,int y)
    {
    	int p=1,n,m;
    	for(int i=0;i<x;i++)
    	a[i][0]=1;
    	for(int i=1;i<y-1;i++)
    	{
    		a[0][i]=1;
    		a[x-1][i]=1;
    		for(int j=1;j<x-1;j++)
    		a[j][i]=0;
    	}
    	for(int i=0;i<x;i++)
    	a[i][y-1]=1;
    	while(p==1)
    	{
    		for(int i=0;i<52;i++)
    	    printf(" ");
    		printf("请确定迷宫障碍点(x,y)\n");
    		for(int i=0;i<52;i++)
    	    printf(" ");
    		scanf("%d,%d",&n,&m);
    		a[n-1][m-1]=1;
    		for(int i=0;i<52;i++)
    	    printf(" ");
    		printf("是否继续设置障碍点(1.是,2.不)\n");
    		for(int i=0;i<52;i++)
    	    printf(" ");
    		scanf("%d",&p);
    	}
    	system("cls");
    	for(int i=0;i<y;i++)
    	{
    		for(int i=0;i<52;i++)
    	    printf(" ");
    		for(int j=0;j<x;j++)		
    		{
    			if(a[j][i]==1)
    			printf("■");
    			if(a[j][i]==0)
    			printf("  ");
    		}
    			printf("\n");
        } 
    }
    //寻找路径函数 
    int route(int xi,int yi,int xd,int yd,St *st)
    {
    	int i,j,il,jl,di;
    	bool find;
    	st->top++;
    	st->i=xi;st->j=yi;st->di=-1;
    	a[xi][yi]=-1;
    	printf("路径如下:"); 
    	printf("<%d,%d>",xi+1,yi+1);
    	while(il!=xd||jl!=yd)
    	{
    		i=st->i;j=st->j;di=st->di;
    		if(xi==xd&&yi==yd)
    		{
    			a[i][j]=0;
    			st->top--;
    			i=st->i;j=st->j;di=st->di;
    		}
    		find=false;
    		while(di<4&&!find)
    		{
    			di++;
    			switch(di)
    			{
    				case 0:il=i-1;jl=j;break;
    				case 1:il=i;jl=j+1;break;
    				case 2:il=i+1;jl=j;break;
    				case 3:il=i;jl=j-1;break;
    			}
    			if(a[il][jl]==0)
    			find=true;
    		}
    		if(find)
    		{
    			st->di=di;
    			st->top++;
    			st->i=il;
    			st->j=jl;
    			st->di=-1;
    			a[il][jl]=-1;
    			printf("→");
    			printf("<%d,%d>",il+1,jl+1);
    		}
    		else
    		{
    			a[i][j]=0;
    			st->top--;
    		}
    	}
    }
    //主函数 
    int main()
    {
    	St *st;
    	st=(St *)malloc(sizeof(St));
    	st->top=-1;
    	int longth,weith;
    	int a,b,c,d; 
    	system("color BC");                   //设置调试界面的颜色,字体颜色 
    	interface();                          //调用界面设置函数 
    	
    	printf("\n\n\n");                 //用户定义迷宫 
    	for(int i=0;i<52;i++)
    	printf(" ");
    	printf("   请确定迷宫规格\n");
    	for(int i=0;i<52;i++)
    	printf(" ");
    	printf("长:");
    	scanf("%d",&longth);
    	for(int i=0;i<52;i++)
    	printf(" ");
    	printf("宽:");
    	scanf("%d",&weith);
    	maze(longth,weith);                    //调用自定义函数maze 
    	for(int i=0;i<52;i++)
    	printf(" ");
    	printf("请输入入口(xi,yi):");         //寻找找出路 
    	scanf("%d,%d",&a,&b);
    	for(int i=0;i<52;i++)
    	printf(" ");
    	printf("请输入出口(xd,yd):");
    	scanf("%d,%d",&c,&d); 
    	route(a-1,b-1,c-1,d-1,st);                        //调用寻找出路函数route
    	return 0;
    }

     

    展开全文
  • 数据结构 C语言 刚学完数据结构,老师叫我们写一个迷宫程序,希望对大家有用,花的时间较长,分数较高,希望能够对你有帮助,测试完全正确,请读者放心
  • 严蔚敏数据结构课本上的迷宫程序用VC重写一遍,有着色和找迷宫过程演示,比原先代码的界面友好多了。
  • 迷宫问题 数据结构

    2013-04-14 16:49:53
    用C语言编写的用栈和队列两种线性结构程序,解决迷宫问题
  • 本程序由C语言编写实现迷宫程序。可以查找迷宫的最短长度,最长路径,和所有路径,还可以按要求查找路径。
  • 程序用一个二维数组表示迷宫,数组值为0表示通路,1表示障碍。用另外一个数组记录脚印位置。程序中的迷宫时自动生成的,用户需要输入迷宫的维数,即:水平和垂直方向的点数。程序默认迷宫入口为左上角,出口为右下...
  • 数据结构课程设计迷宫问题源程序
  • 数据结构迷宫问题源程序,有最短路径所有路径等
  • 程序是用C++编写的漫步迷宫,能够简单实现迷宫的最短路径的查找
  • 在栈这一节的数据结构下,写的迷宫程序..

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 759
精华内容 303
关键字:

迷宫程序数据结构

数据结构 订阅