文件名称:bashuma-
介绍说明--下载内容来自于网络,使用问题请自行百度
人工智能八数码问题实现八数码问题:在3×3的方格棋盘上,摆放着1到8这八个数码,有1个方格是
空的,其初始状态如图1所示,要求对空格执行空格左移、空格右移、空格上移
和空格下移这四个操作使得棋盘从初始状态到目标状态。
-#include <stdio.h>//定义变量
#include <stdlib.h>//定义变量
typedef struct s_node//定义创建节点
{
struct s_node*father //定义父结点
struct s_node*prev
struct s_node*next //定义下一个结点
int step //定义步骤为整形
int diff
int weight
int m[9] //定义m为9个整形数据
}
node
node*open_out(node*head) //open表输出节点
int open_insert(node*head, node*item) //定义open表插入节点为整形
int close_insert(node*head, node*item) //定义close表插入为整形
int inv_pair(int m[]) //定义m数据成对为整形
void swap(int*, int*) //定义空交换
int operate(int m[], int op) //定义操作
int diff(int m[], int n[])
空的,其初始状态如图1所示,要求对空格执行空格左移、空格右移、空格上移
和空格下移这四个操作使得棋盘从初始状态到目标状态。
-#include <stdio.h>//定义变量
#include <stdlib.h>//定义变量
typedef struct s_node//定义创建节点
{
struct s_node*father //定义父结点
struct s_node*prev
struct s_node*next //定义下一个结点
int step //定义步骤为整形
int diff
int weight
int m[9] //定义m为9个整形数据
}
node
node*open_out(node*head) //open表输出节点
int open_insert(node*head, node*item) //定义open表插入节点为整形
int close_insert(node*head, node*item) //定义close表插入为整形
int inv_pair(int m[]) //定义m数据成对为整形
void swap(int*, int*) //定义空交换
int operate(int m[], int op) //定义操作
int diff(int m[], int n[])
(系统自动生成,下载前可以参看下载内容)
下载文件列表
八数码问题.doc
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.