随机迷宫
来源:百度知道 编辑:UC知道 时间:2024/06/17 02:20:08
中间不要有通路合并或者墙壁合并。
不知道如何做?
新手不怕被笑了。。。。
完全把问题曲解了。。。。
你这答案太离谱,不能给分,不好意思
#define OVERFLOW -2
#define ERROR 0
#define NULL 0
#define true 1
#define TRUE 1
#define false 0
#define FALSE 0
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#include <stdio.h>
#include <stdlib.h>
/*
初始化迷宫,1表示通道,0表示墙
*/
int maze[8][8] = {
1,1,0,1,1,1,0,1,
1,1,0,1,1,1,0,1,
1,1,1,1,0,0,1,1,
1,0,0,0,1,1,1,1,
1,1,1,0,1,1,1,1,
1,0,1,1,1,0,1,1,
1,0,0,0,1,0,0,1,
0,1,1,1,1,1,1,1
};
//定义栈元素类型
typedef struct MStackElem
{
int x;//x坐标
int y;//y坐标
int val;//maze[x][y]的值
}MStackElem;
//定义栈
typedef struct {
MStackElem * base;
MStackElem * top;
int stackSize;
}MStack;
//=============Stack的实现========================
//初始化栈-------构造一个空栈
void initStack(MStack *s) {
s->base = (MStackElem