• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: C/C++
  • 标签: 迷宫代码  

资源简介

数据结构走迷宫 c语言完整代码 迷宫代码 迷宫完整代码

资源截图

代码片段和文件信息

#include “ds.h“
using namespace std;

struct StackNode//迷宫的坐标位置类型 
{
int x;   //迷宫的行
int y;   //迷宫的列
int di;   //从此通道块走向下一通道快的“方向”
struct StackNode  *next; //指针变量
};   
 typedef StackNode*linkStack; 
int InitStack(linkStack &S)
{ //构造空栈
S=NULL;
return OK;
}
int DestroyStack(linkStack &S) //销毁栈
{
linkStack p;
while(S)
{
p=S;
p=p->next ;
free(S);
S=p;
}
return OK;
}

int StackEmpty(linkStack S)//判断栈是否为空
{
if(S==NULL)
return TRUE;
else
return FALSE;
}

int Push(linkStack &S int xint yint di)//在栈顶压入新数据元素
{
linkStack p;
p=(linkStack)malloc(sizeof(StackNode));
p->x =x;
p->y =y;
p->di =di;
p->next=S;
S=p;
return OK;
}

int Pop(linkStack &Sint &xint &yint &di) //栈顶元素出栈
{
linkStack p;
if(!StackEmpty(S))
{
p=S;
di=p->di ;
x=p->x;
y=p->y;
S=S->next ;
free(p);
return OK;
}
else
{
cout<<“栈已空,无值出栈!\n“;
return ERROR;
}

}
int ClearStack(linkStack &S)//清空栈的数据
{
linkStack pq;
p=S;
while(p!=NULL)
{
q=p;
p=p->next;
free(q);
}
S=NULL;
return OK;

}
void OutPut1(linkStack S)//输出栈内的数据
{
linkStack  p;
int i=0;
p=S;
if(S==NULL)
 cout<<“空栈,无值可输出!“< while(p)
 {
i++;
cout<<“第“< cout<<“(“<x <<““<y <<““ <di <<“)  “ ;  
p=p->next;
cout<  }

}

void OutPut(linkStack S)//输出栈内的数据
{
linkStack S1;
InitStack(S1);
linkStack  p;
int xydii=0;
p=S;
if(S==NULL)
 cout<<“空栈,无值可输出!“< while(p)
 {
 di=p->di;
 x=p->x;
 y=p->y;
 Push(S1xydi)

评论

共有 条评论