資源簡介
實現兩點之間最優路徑的算法。注:相鄰點距離是固定
代碼片段和文件信息
#include?
#include?
#define?nmax?200
#define?nend?99??/*終點坐標的代表點*/
char?achar[10][10];//存放路徑信息?
??struct?Route
??{
????int?g;
????int?f;????????/*路徑評分*/
????int?my_x;?????/*自己位置*/
????int?my_y;
????int?fatherx;??/*父節點*/
????int?fathery;
????int?flag;????/*?0?為?O;?1?為?@?*/
??};
struct?Route?Route[200];
??/*?open?close?list?表?*/
typedef?struct?node
???{
????int?n_f;
????int?n_x;
int?n_y;
int?nfather_x;
int?nfather_y;
????struct?node?*next;
???}NODE;
???NODE?*open_list?*close_list;//OPEN表保存所有已生成而未考察的節點,CLOSED表中記錄已訪問過的節點。
?void?Astar();
?int??judge(int?nxint?nyint?i);????/*判斷在第nx列ny行向第i個方向走是否可以可以返回1否則返回0。
???i=1表示向右,2表示向下,3表示向左,4表示向上*/
?void?path();
?void?pathshow(int?nxxint?nyy);
?int?isfopen(?int?nxint?ny);??/*判斷點是否在?open?表上*/
?int?isfclose(int?nxint?ny);??/*判斷點是否在?close?表上*/
?int?snewx(int?nxint?i);
?int?snewy(int?nyint?i);
?NODE?*creat();????/*建立鏈表*/
?NODE?*del(NODE?*headint?num_xint?num_y);????/*刪除鏈表的結點*/
?NODE
- 上一篇:C語言經典編程100題+答案,
- 下一篇:c語言 數據結構 農夫過河
評論
共有 條評論