人工智能-与或图搜索解决梵塔-代码C语言版(共4页).doc
《人工智能-与或图搜索解决梵塔-代码C语言版(共4页).doc》由会员分享,可在线阅读,更多相关《人工智能-与或图搜索解决梵塔-代码C语言版(共4页).doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上与或图搜索解决梵塔#include stdafx.h#define STACKs 100#define STACKsr 10#include malloc.htypedef struct Openint n;/要移动的盘数int start;/开始杆号int middle;/过度杆号int end;/目标杆号int son;/子问题解决个数,0都未解决,3都解决Open* father;/父节点OPen,*OPEN;/定义栈typedef structOPEN *base;/在栈构造之前和销毁之后,base的值为NULL;OPEN *top;/栈顶指针int stac
2、ksize;/当前已分配的存储空间,以Open结构体地址为单位。SqStack;int InitStack(SqStack &s)/s.base=(OPEN*)malloc(STACKs*sizeof(OPEN);/栈中存放OPEN指针if(!s.base)return 0;s.top=s.base;s.stacksize=STACKs;return 1;/InitStack*/int GetTop(SqStack s,OPEN &e)/返回当前问题的指针,指向OPen结构体if(s.top=s.base)return 0;e=*(s.top-1);return 1;int Push(SqSt
3、ack &s,OPEN e)/将扩展结点添加到open表中(即栈)if(s.top-s.base=s.stacksize)/如果当前栈已满,扩展栈容量s.base=(OPEN*)realloc(s.base,(STACKs+STACKsr)*sizeof(OPEN);if(!s.base)return 0;s.top=s.base+s.stacksize;s.stacksize+=STACKsr;*s.top+=e;return 1;/Pushint Pop(SqStack &s,OPEN &e)/从open表头部删除该节点if(s.top=s.base)return 0;e=*-s.top;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 搜索 解决 代码 语言版
限制150内