日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言怎样输出有颜色的迷宫,c语言写的迷宫问题

發布時間:2024/9/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言怎样输出有颜色的迷宫,c语言写的迷宫问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該樓層疑似違規已被系統折疊?隱藏此樓查看此樓

下面是程序

#include

#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

#include

/*

初始化迷宮,1表示通道,0表示墻

*/

typedef struct MStackElem

{

int x;

int y;

int val;

}MStackElem;

typedef struct {

MStackElem * base;

MStackElem * top;

int stackSize;

}MStack;

void initStack(MStack *s) {

s->base = (MStackElem *)malloc(STACK_INIT_SIZE * sizeof(MStackElem));

if (!s->base) {

printf("in initStack()...Failed to initalize the MStack ,no enough space! exit now. ");

exit(OVERFLOW);

}

s->top = s->base;

s->stackSize = STACK_INIT_SIZE;

}

void push(MStack *s,MStackElem e) {

if (s->top - s->base >= s->stackSize) {

s->base = (MStackElem *)realloc(s->base, (STACK_INIT_SIZE+STACKINCREMENT) * sizeof(MStackElem));

if (!s->base) {

printf("in push()...Failed to realloc the MStack ,no enough space! exit now. ");

exit(OVERFLOW);

}

s->top = s->base + s->stackSize;

s->stackSize += STACKINCREMENT;

}

*(s->top++) = e;

}

MStackElem getTop(MStack *s) {

if (s->top == s->base) {

printf("in getTop(),empty stack! exit now. ");

exit(ERROR);

}

else {

return *(s->top - 1);

}

}

void pop(MStack *s) {

if (s->top == s->base) {

printf("in pop(),empty stack! exit now. ");

exit(ERROR);

}

else {

--(s->top);

}

}

MStack realPath,path;

int unPass(MStack path,MStackElem cur) {

int flag = 1;

while(path.top != path.base)

{

MStackElem e = *(path.top - 1);

if (e.x == cur.x&& e.y == cur.y)

總結

以上是生活随笔為你收集整理的c语言怎样输出有颜色的迷宫,c语言写的迷宫问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。