亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 8-1.h

?? 經典的人工智能實驗8數碼寬度搜索--自河工05級計算機趙麗娜
?? H
字號:
//****************************************
//* 文件名稱:8_1.cpp                    *
//* 功    能:預定義函數                 *
//* 工作方式:通過主函數調用執行         *
//****************************************
#include "head.h"

//***************************************************
//* 函數原型:bool isEmptyOfOPEN()                  *
//* 功    能:判斷是否滿足結束條件                  *
//* 參    數:void                                  *
//* 返 回 值:bool                                  *
//* 工作方式:通過主函數中調用執行                  *
//***************************************************
bool isEmptyOfOPEN()
{ 
	for(unsigned int i=0;i<node_v.size();i++)//node_v.size() 返回容器中實際數據的個數
	{  
		if(node_v[i].outofopen==false) 
			return false; 
	} 
	return true; 
}



//************************************************************
//* 函數原型:bool isEqual(int index, int digit[][COL])      *
//* 功    能:判斷是否達到終止狀態                           *
//* 參    數:(int,int)                                      *
//* 返 回 值:bool                                           *
//* 工作方式:通過主函數中調用執行                           *
//************************************************************
bool isEqual(int loc,int digit[][COL]) 
{ 
	for(int i=0;i<ROW;i++) 
		for(int j=0;j<COL;j++) 
		{ 
			if(node_v[loc].digit[i][j]!=digit[i][j])//判斷是否完全匹配 
				return false; 
		} 
		return true; 
} 

//******************************************************************
//* 函數原型:void PrintSteps(int index, vector<Node>& rstep_v)    *
//* 功    能:輸出整個過程的中間步驟                               *
//* 參    數:(int,vector<Node> &)                                 *
//* 返 回 值:bool                                                 *
//* 工作方式:通過主函數中調用執行                                 *
//****************************************************************** 
void PrintSteps(int loc, vector<Node>& rstep_v) 
{ 
	rstep_v.push_back(node_v[loc]);//將目標節點存放到容器rstep_v中
	int index=node_v[loc].index;//指明目標節點的父節點
	while (index!=0) 
	{ 
		rstep_v.push_back(node_v[index]); 
		index=node_v[index].index; 
	}//指明中間節點的父節點
	for (int i=(int)rstep_v.size()-1;i>=0;i--) 
		cout<<"步驟"<<rstep_v.size()-i<<endl<<rstep_v[i]<<endl;//輸出整個過程的中間步驟 
} 

//****************************************
//* 文件名稱:8_2.cpp                    *
//* 功    能:預定義函數                 *
//* 工作方式:未找到目標時執行相應操作   *
//****************************************


//********************************************************
//* 函數原型:void Swap(int& a, int& b)                  *
//* 功    能:空格的轉移(即空格與相應元素的交換)         *
//* 參    數:(int&,int&)                              *
//* 返 回 值:void                                       *
//* 工作方式:通過void ProcessNode(int)調用執行          *
//********************************************************
void Swap(int& a, int& b)
{ 
	int t; 
	t=a; 
	a=b; 
	b=t; 
} 

//********************************************************
//* 函數原型:void Assign(Node& node, int index)         *
//* 功    能:完成兩個節點間的復制                       *
//* 參    數:(Node&,int&)                              *
//* 返 回 值:void                                       *
//* 工作方式:通過void ProcessNode(int)調用執行          *
//********************************************************
void Assign(Node& node, int loc)
{ 
	for(int i=0;i<ROW;i++) 
		for(int j=0;j<COL;j++) 
			node.digit[i][j]=node_v[loc].digit[i][j]; 
} 

//********************************************************
//* 函數原型:bool isExpandable(Node& node)              *
//* 功    能:判斷該節點是否可以再擴展                   *
//* 參    數:Node&                                      *
//* 返 回 值:bool                                       *
//* 工作方式:通過void ProcessNode(int)調用執行          *
//********************************************************
bool isExpandable(Node& node)
{ 
	for(unsigned int i=0;i<node_v.size();i++) 
	{ 
		if(isEqual(i,node.digit))//判斷節點是否已經在close表、open表(即容器)中放置
			return false; 
	} 
	return true; 
} 

//************************************************
//* 函數原型:void ProcessNode(int index)        *
//* 功    能:未找到目標時執行相應操作           *
//* 參    數:int                                *
//* 返 回 值:void                               *
//* 工作方式:通過主函數調用執行                 *
//************************************************
void ProcessNode(int loc) 
{ 
	int x=0,y=0; 
	bool flag;//判斷空格是否搜索到空格位置的標記 
	for(int i=0;i<ROW;i++) 
	{ 
		for(int j=0;j<COL;j++)
		{ 
			if(node_v[loc].digit[i][j]==0) 
			{ 
				x=i;y=j; 
				flag=true; 
				break; 
			} 
			else flag=false; 
		} 
		if(flag) 
			break; 
	} 
	/*********************空格上移操作*******************/
	Node node_up; 
	Assign(node_up,loc); 
	if(x>0)//空格不在最上面一行
	{ 
		Swap(node_up.digit[x][y],node_up.digit[x-1][y]);//空格與其上面的元素調換 
		if(isExpandable(node_up)) 
		{ 
		
			node_up.index=loc;//父節點就是剛擴展的節點 
			node_up.outofopen=false;
			node_v.push_back(node_up);//將剛擴展的節點壓到容器中(也可以理解為close表中) 
		} 
	} 
	/*********************空格下移操作*******************/
	Node node_down; 
	Assign(node_down,loc); 

	if(x<2)//空格不在最下面一行
	{ 
		Swap(node_down.digit[x][y],node_down.digit[x+1][y]); //空格與其下面的元素調換 
		if(isExpandable(node_down))
		{ 
		
			node_down.index=loc; //父節點就是剛擴展的節點
			node_down.outofopen=false;
			node_v.push_back(node_down); //將剛擴展的節點壓到容器中(也可以理解為close表中)
		} 
	} 
	/*********************空格左移操作*******************/
	Node node_left; 
	Assign(node_left,loc); 

	if(y>0) //空格不在最左邊一列
	{ 
		Swap(node_left.digit[x][y],node_left.digit[x][y-1]);//空格與其左邊的元素調換 
		if(isExpandable(node_left)) 
		{ 
			node_left.index=loc; //父節點就是剛擴展的節點
			node_left.outofopen=false;
			node_v.push_back(node_left); //將剛擴展的節點壓到容器中(也可以理解為close表中)
		} 
	} 
	/*********************空格右移操作*******************/
	Node node_right; 
	Assign(node_right,loc); 

	if(y<2) //空格不在最右邊一行
	{ 
		Swap(node_right.digit[x][y],node_right.digit[x][y+1]);//空格與其右邊的元素調換  
		if(isExpandable(node_right)) 
		{ 
			node_right.index=loc; //父節點就是剛擴展的節點
			node_right.outofopen=false;
			node_v.push_back(node_right); //將剛擴展的節點壓到容器中(也可以理解為close表中)
		} 
	} 
	
	node_v[loc].outofopen=true;//將父節點放到close表中
} 




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美电影一区二区| 成人免费黄色大片| 天天免费综合色| 夜夜精品视频一区二区| 亚洲人成在线播放网站岛国| 亚洲欧美日本在线| 一区二区三区影院| 亚洲电影欧美电影有声小说| 亚洲国产精品久久人人爱| 偷拍与自拍一区| 欧美a级一区二区| 欧美aⅴ一区二区三区视频| 美女视频黄 久久| 国产在线精品一区二区夜色| 国产精品一区在线| 从欧美一区二区三区| 99精品欧美一区二区三区综合在线| av一二三不卡影片| 欧洲国内综合视频| 欧美精品乱码久久久久久| 日韩欧美精品在线视频| 久久久久久综合| 亚洲欧美综合在线精品| 亚洲一区二区三区国产| 丝袜亚洲另类欧美综合| 精品一区二区免费视频| 国产白丝精品91爽爽久久| 色综合久久综合网97色综合 | 91在线观看污| 在线视频中文字幕一区二区| 欧美一区二区三区男人的天堂| 欧美精品一区二区三区四区 | 东方欧美亚洲色图在线| 色网站国产精品| 日韩一区二区在线观看视频| 久久网这里都是精品| 中文字幕人成不卡一区| 亚洲成人av在线电影| 国产中文字幕精品| 在线观看亚洲精品视频| 日韩一级二级三级| 国产精品美女久久久久久久久| 一区二区三区91| 久久国产尿小便嘘嘘| 成人免费三级在线| 欧美日本韩国一区二区三区视频 | 亚洲电影在线播放| 韩国女主播成人在线| 99精品在线免费| 欧美一区二区三区人| 中文字幕一区二区在线观看| 免费视频一区二区| av中文字幕不卡| 91精品国产aⅴ一区二区| 国产精品私人影院| 美腿丝袜亚洲三区| 欧美自拍偷拍一区| 久久久久久99久久久精品网站| 亚洲一区精品在线| 丁香六月久久综合狠狠色| 欧美在线不卡一区| 中文字幕免费一区| 另类小说图片综合网| 色哟哟国产精品| 国产亚洲一二三区| 欧美aaaaaa午夜精品| 欧洲视频一区二区| 国产精品久久久久一区| 久久99久久精品| 精品视频色一区| 亚洲六月丁香色婷婷综合久久| 久久av资源站| 欧美精选一区二区| 亚洲在线视频一区| 99re亚洲国产精品| 国产欧美一区二区精品久导航 | 国产一区在线观看视频| 欧美日韩国产一区| 亚洲欧洲综合另类在线| 粉嫩一区二区三区在线看| 日韩三级精品电影久久久| 亚洲图片自拍偷拍| 色8久久人人97超碰香蕉987| 欧美国产禁国产网站cc| 韩国v欧美v亚洲v日本v| 91精品国产麻豆| 首页国产丝袜综合| 欧美日韩一本到| 亚洲一线二线三线视频| 99re热这里只有精品视频| 中文字幕av不卡| 粉嫩av一区二区三区粉嫩| 2022国产精品视频| 精品系列免费在线观看| 欧美一区二区三区色| 日韩高清不卡一区二区三区| 欧美日韩国产中文| 香蕉乱码成人久久天堂爱免费| 欧美在线免费视屏| 一区二区三区蜜桃网| 色婷婷亚洲综合| 一区二区三区中文在线观看| 色婷婷狠狠综合| 亚洲在线视频免费观看| 欧美性xxxxxx少妇| 亚洲一区二区四区蜜桃| 欧美影院一区二区三区| 午夜av电影一区| 91精品福利在线一区二区三区| 天堂va蜜桃一区二区三区漫画版| 欧美久久久久免费| 久草在线在线精品观看| 久久久久久麻豆| 播五月开心婷婷综合| 日韩毛片高清在线播放| 欧美在线一区二区三区| 五月激情丁香一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 麻豆精品视频在线观看| 国产午夜精品久久久久久免费视| 成人动漫精品一区二区| 亚洲精品一二三区| 欧美男男青年gay1069videost| 日本高清免费不卡视频| 亚洲一线二线三线视频| 欧美一区二区三区免费观看视频| 六月丁香婷婷色狠狠久久| 欧美激情中文字幕一区二区| 99riav一区二区三区| 亚洲福利一区二区三区| 精品欧美黑人一区二区三区| 懂色av一区二区三区免费看| 一区二区三区成人| 欧美一区二区观看视频| 国产精品一二三区| 中文字幕一区二区三区不卡在线 | av不卡免费在线观看| 亚洲国产一区视频| 精品福利一区二区三区| 成人av免费在线观看| 婷婷综合五月天| 久久久国产精品午夜一区ai换脸| 91一区在线观看| 蜜臀av性久久久久av蜜臀妖精| 国产目拍亚洲精品99久久精品| 91久久久免费一区二区| 麻豆中文一区二区| 亚洲日本一区二区| 日韩三级高清在线| 91色乱码一区二区三区| 另类欧美日韩国产在线| 亚洲人成精品久久久久久| 欧美一级黄色片| 99精品欧美一区二区三区小说 | 一区二区三区日韩精品视频| 制服丝袜成人动漫| 成人小视频在线| 日韩精品91亚洲二区在线观看| 国产人成亚洲第一网站在线播放| 欧美午夜不卡视频| 成人亚洲一区二区一| 亚洲国产精品视频| 中文字幕乱码一区二区免费| 欧美一区中文字幕| 91老师国产黑色丝袜在线| 激情综合色丁香一区二区| 一区二区三区中文免费| 久久精品人人爽人人爽| 91精品国产综合久久福利| 91麻豆国产香蕉久久精品| 国产一区亚洲一区| 日本伊人色综合网| 亚洲一区av在线| 国产精品久久久久影院亚瑟| 精品国产在天天线2019| 欧美军同video69gay| 91久久精品一区二区| 成人性色生活片| 国产成人精品一区二区三区网站观看| 日韩中文字幕不卡| 亚洲已满18点击进入久久| 综合激情成人伊人| 国产精品网站在线观看| 久久久亚洲精品石原莉奈| 日韩午夜电影av| 欧美久久免费观看| 欧美日韩二区三区| 欧美性色黄大片| 96av麻豆蜜桃一区二区| 高清beeg欧美| 国产一区二区调教| 久久电影网电视剧免费观看| 日韩成人免费电影| 日韩精品久久理论片| 天天影视色香欲综合网老头| 亚洲国产精品欧美一二99| 亚洲成人av福利| 亚洲va天堂va国产va久| 亚洲二区视频在线| 无码av中文一区二区三区桃花岛|