下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第C語言通過棧實現(xiàn)小人走迷宮if(s-Top-s-Base=s-size){
s-Base=(ElemType*)realloc(s-Base,(s-size+INIT_INCREM)*sizeof(ElemType));
if(s-Base==NULL){
return0;
}
s-Top=s-Base+s-size;
s-size=s-size+INIT_INCREM;
}
*s-Top=*e;
s-Top++;
return1;
intPop(STACK*s,ElemType*e){
if(s==NULL||e==NULL){
return0;
}
if(s-Base==s-Top){
return0;
}
s-Top--;
*e=*s-
return1;
intIsEmpty(STACK*
s){
returns-Base==s-Top1:0;
}
新建Data.h
#ifndef_DATA_H
#define_DATA_H
typedefstruct
{
inty;
intx;
}POS;
typedefstruct{
intord;
POSseat;
intdi;
}ElemType;
#endif
新建main.c
#include"Data.h"
#include"stack.h"
#includestdio.h
#includeconio.h
#includestdlib.h
intitem[10][10]={
{1,1,1,1,1,1,1,1,1,1},
{1,0,0,1,0,0,0,1,0,1},
{1,0,0,1,0,0,0,1,0,1},
{1,0,0,0,0,1,1,0,0,1},
{1,0,1,1,1,0,0,0,0,1},
{1,0,0,0,1,0,0,0,0,1},
{1,0,1,0,0,0,1,0,0,1},
{1,0,1,1,1,0,1,1,0,1},
{1,1,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1}
staticconstPOSinPos={1,1},outPos={8,8};
intIsPass(POSCurP){
returnitem[CurP.y][CurP.x]==01:0;
POSNextPos(POSCurP,intdi){
POSp=CurP;
switch(di){
case0:
p.x--;//向左
break;
case1:
p.y++;//向下
break;
case2:
p.x++;//向右
break;
case3:
p.y--;//向上
break;
}
returnp;
voidPrintItem(POSCurP){
inti,j;
system("cls");
for(i=0;ii++){
for(j=0;jj++){
if(i==CurP.yj==CurP.x){
printf("@");
continue;
}
if(item[i][j]==1){
printf("*");
}else{
printf("");
}
}
printf("\n");
}
voidmain(){
STACK*s=InitStack();
ElemTypee;
intsetp=1;
POSCurPos=inPos;
PrintItem(inPos);
do{
if(IsPass(CurPos)){
e.ord=setp;
e.di=0;
e.seat=CurPos;
Push(s,//只有能通過才壓棧
item[CurPos.y][CurPos.x]=2;
if(CurPos.y==outPos.yCurPos.x==outPos.x){
PrintItem(CurPos);
printf("ok!\n");
break;
}
PrintItem(CurPos);
CurPos=NextPos(e.seat,0);
setp++;
getch();
}else{
Pop(s,//如果不能通過就彈棧
if(e.di==4!IsEmpty(s)){
item[CurPos.y][CurPos.x]=8;
Pop(s,
}
if(e.di3){
e.di++;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工培訓體檢衛(wèi)生制度
- 小學衛(wèi)生教育培訓制度
- 衛(wèi)生急救培訓演練制度
- 衛(wèi)生許可九個制度
- 溫泉洗浴衛(wèi)生制度
- 轄區(qū)單位衛(wèi)生檢查制度
- 衛(wèi)生檢查評比獎勵制度
- 學生寢室衛(wèi)生制度
- 醫(yī)院健康教育衛(wèi)生制度
- 職業(yè)中學衛(wèi)生制度
- 2025年農村人居環(huán)境五年評估報告
- 《開學第一課:龍馬精神·夢想起航》課件 2025-2026學年統(tǒng)編版語文七年級下冊
- 2026年洪湖市事業(yè)單位人才引進100人參考考試題庫及答案解析
- 2026年中好建造(安徽)科技有限公司第一次社會招聘42人筆試參考題庫及答案解析
- 北京市海淀區(qū)2025一2026學年度第一學期期末統(tǒng)一檢測歷史(含答案)
- 2026年科研儀器預約使用平臺服務協(xié)議
- 新《增值稅法實施條例》逐條解讀課件
- 2026年廣西職教高考5套語文模擬試卷試題及逐題答案解釋和5套試題的綜合分析報告
- 領導干部任職前廉政法規(guī)知識測試題及答案(2025年)
- 內分泌急癥識別與應急護理預案
- 急危重癥患者氣道管理新進展
評論
0/150
提交評論