資源簡(jiǎn)介
參考別人的傳教士野人渡河算法改的mfc帶一個(gè)單文檔窗口顯示圖片來(lái)展示過(guò)程的一個(gè)代碼。有很多需要完善的地方,但只是為了交作業(yè),拿出來(lái)大家一起參考一下,希望有人能繼續(xù)完善,這個(gè)沒(méi)使用對(duì)話框是我懶了。運(yùn)行自己貼代碼然后調(diào)整一下圖片的位置。

代碼片段和文件信息
//?ChildView.cpp?:?CChildView?類(lèi)的實(shí)現(xiàn)
//
#include?“stdafx.h“
#include?“傳教士野人渡河.h“
#include?“ChildView.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//?CChildView
BEGIN_MESSAGE_MAP(CChildView?CWnd)
ON_WM_PAINT()
?ON_BN_CLICKED(IDC_myBUTTON?OnmyButton)?
END_MESSAGE_MAP()
#define?????M???5???????//傳教士總?cè)藬?shù)????
#define?????C???5???????//野人總?cè)藬?shù)????
#define?????K???3???????//船一次可以乘坐的最多人數(shù)????
???
struct?NODE???
{???
????int?m;??????????????????????//在左岸的傳教士人數(shù)????
????int?c;??????????????????????//在左岸的野人人數(shù)????
????int?b;??????????????????????//b=1表示船在左岸b=0表示船在右岸????
????double?g;???????????????????//該節(jié)點(diǎn)的g值????
????double?f;???????????????????//該節(jié)點(diǎn)的f值????
????struct?NODE?*pFather;???????//指向該節(jié)點(diǎn)的父節(jié)點(diǎn)????
????struct?NODE?*pNext;?????????//在OPEN表或者CLOSED表中,指向下一個(gè)元素????
};???
???
struct?NODE?*g_pOpen?=?NULL;????//全程變量,OPEN表????
struct?NODE?*g_pClosed?=?NULL;??????//全程變量,CLOSED表????
???
???
/******************************************************??
?*?功能:判斷兩個(gè)節(jié)點(diǎn)所表示的狀態(tài)是否相等?????????????*??
?*????????????????????????????????????????????????????*??
?*?入口參數(shù):?????????????????????????????????????????*??
?*???pNode1:指向節(jié)點(diǎn)1的指針??????????????????????????*??
?*???pNode2:指向節(jié)點(diǎn)2的指針??????????????????????????*??
?*????????????????????????????????????????????????????*??
?*?返回值:當(dāng)兩個(gè)節(jié)點(diǎn)所表示的狀態(tài)相等時(shí),返回1,否則??*??
?*?????????返回0??????????????????????????????????????*??
?******************************************************/??
int?Equal(struct?NODE?*pNode1?struct?NODE?*pNode2)???
?
{???
????if?(pNode1->m?==?pNode2->m?&&???
????????pNode1->c?==?pNode2->c?&&???
????????pNode1->b?==?pNode2->b)?return?1;???
????else?return?0;???
}???
???
/******************************************************??
?*?功能:動(dòng)態(tài)產(chǎn)生一個(gè)節(jié)點(diǎn),其狀態(tài)值由參數(shù)m,c,b給定。*??
?*????????????????????????????????????????????????????*??
?*?入口參數(shù):?????????????????????????????????????????*??
?*???m:河左岸的傳教士人數(shù)????????????????????????????*??
?*???c:河左岸的野人人數(shù)??????????????????????????????*??
?*???b:船是否在左岸,1:表示在左岸,0:表示不在左岸??*??
?*????????????????????????????????????????????????????*??
?*?返回值:指向新產(chǎn)生的節(jié)點(diǎn)的指針,或者空間不夠時(shí),返?*??
?*?????????回NULL?????????????????????????????????????*??
?******************************************************/
struct?NODE?*NewNode(int?m?int?c?int?b)??????
{???
????struct?NODE?*pNode?=?NULL;???
????pNode?=(struct?NODE?*)?malloc(sizeof(struct?NODE));???
????if?(pNode?==?NULL)?return?NULL;???
????pNode->m?=?m;???
????pNode->c?=?c;???
????pNode->b?=?b;???
????pNode->g?=?0;???
????pNode->f?=?0;???
????pNode->pFather?=?NULL;???
????pNode->pNext?=?NULL;???
????return?pNode;???
}???
???
/******************************************************??
?*?功能:釋放動(dòng)態(tài)產(chǎn)生的鏈表???????????????????????????*??
?*????????????????????????????????????????????????????*??
?*?入口參數(shù):?????????????????????????????????????????*??
?*???pList:指向OPEN表或者CLOSED表的指針??????????????*??
?*????????????????????????????????????????????????????*??
?*?返回值:無(wú)?????????????????????????????????????
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????7094??2014-05-03?13:30??133.bmp
?????文件????????7974??2014-05-03?23:12??233.bmp
?????文件???????18754??2014-05-03?23:20??ChildView.cpp
?????文件?????????429??2014-05-03?14:36??ChildView.h
?????文件????????6171??2014-05-03?22:57??MainFrm.cpp
?????文件????????1173??2014-04-21?10:11??MainFrm.h
?????文件????????3122??2014-04-21?10:11??ReadMe.txt
?????文件????????7976??2009-08-31?03:59??UserImages.bmp
?????文件????????2340??2014-05-03?14:29??resource.h
?????文件?????????147??2014-04-21?10:11??stdafx.cpp
?????文件????????1632??2014-04-21?10:11??stdafx.h
?????文件?????????234??2014-04-21?10:11??targetver.h
?????文件??????115344??2014-07-06?14:33??傳教士野人渡河.aps
?????文件????????4364??2014-04-21?10:11??傳教士野人渡河.cpp
?????文件?????????697??2014-04-21?10:11??傳教士野人渡河.h
?????文件???????19400??2014-05-02?20:15??傳教士野人渡河.rc
?????文件????????6113??2014-05-02?20:15??傳教士野人渡河.vcxproj
?????文件????????2703??2014-05-02?20:15??傳教士野人渡河.vcxproj.filters
?????文件?????????143??2014-04-21?10:11??傳教士野人渡河.vcxproj.user
評(píng)論
共有 條評(píng)論