c++实现八数码游戏,有A*函数优化 #include #include #include #include #include using namespace std; int bn[3][3] = {2,8,3,1,6,4,7,0,5}; int en[3][3] = {1,2,3,0,8,4,7,6,5}; class node { public: int no[3][3]; int position[4][2];//可能方向1上2右3下4左 int ii,ij; int g;
//八数码问题广度优先算法 //有缺陷:如果问题过于复杂会超出内存。 #include struct point { int a[3][3]; int direction; }; struct point sh[102],end; int count=1; void init() {printf("请输入起始节点的位置:\n"); int i,j; for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%d",&sh;[0].a[i][j]); sh