1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      實現(xiàn)簡單的迷宮-創(chuàng)新互聯(lián)

      我們知道棧的特點是:后進先出(First In Last Out);也就是說只能在棧的尾部進

      為阿克蘇等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及阿克蘇網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站制作、成都網(wǎng)站設計、阿克蘇網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

      行壓棧和出棧,而且出棧的時候只能從最后一個數(shù)據(jù)開始。

        所以我們利用棧這個特點,來實現(xiàn)這個迷宮。在這之中我們要采用“回溯”的方法去處理當遇到路徑不通的情況。

        原理:每找到一個通路,就將這個數(shù)據(jù)壓棧,這樣當前位置的上一個位置就位于棧的頂部,假如當前位置的上下左右都找不到通路的時候,就開始回溯,也就是開始從來的路往回走,而之前走過的路都存在棧里面,所以只需要一個一個的Pop就能依次往回退,每退一次,就尋找上下左右有沒有通路,如果找到通路就繼續(xù)往下走,并壓棧,直到走出整個迷宮。

      #define _CRT_SECURE_NO_WARNINGS 1
      #include"MazeMap.h"
      #include 
      
      
      void test()
      {
      	int a[N][N];
      	GetMaze((int*)a, N);
      	stack paths;
      	pos entry = { 2, 0 };
      	cout << searchpath((int*)a, 10, entry, paths)<
      #pragma once
      #include
      #include
      
      #define N  10
      #include
      using namespace std;
      
      struct pos
      {
      	int _row;
      	int _col;
      };
      void GetMaze(int* a, int n)     
      {
      	assert(a);
      	FILE* fout = fopen("C:\\maze.txt", "r");
      	assert(fout);
      	for (int i = 0; i < n; i++)
      	{
      		for (int j = 0; j < n;)
      		{
      			char ch = fgetc(fout);
      			if (ch == '1' || ch == '0') //只讀有效的字符,遇空格不轉換
      			{
      				a[i * n + j] = ch - '0';
      				j++;
      			}
      			else
      			{
      				continue;
      			}
      		}
      	}
      	fclose(fout);
      }
      bool CheckisAccess(int *a, int n, const pos& next)//檢查當前的路徑是否通行
      {
      	int row = next._row;
      	int col = next._col;
      	if (row >= 0 && row < n&&col >= 0 && col < n&&a[next._row*n + next._col] == 0)
      	{
      		return true;
      	}
      	else
      	{
      		return false;
      	}
      }
      bool searchpath(int* a, int n, pos entry, stack& paths)
      {
      	assert(a);
      	paths.push(entry);     //將入口地址(坐標)push到棧中
      	while (!paths.empty())  //如果棧為空,就沒找到出口
      	{
      		pos cur = paths.top();     
      		a[cur._row*n + cur._col] = 2;  //將走過的路徑置為2
      		if (cur._row == n - 1)
      		{
      			return true;
      		}
      		pos next = cur;     //先將cur賦給next  為了下面如果next改變后不滿足,                 next._row--;//上                          
      		if (CheckisAccess(a, n, next))
      		{
      			cur = next;
      			paths.push(cur);
      			continue;
      		}
      	
      		next = cur;
      		next._col++;//右
      		if (CheckisAccess(a, n, next))
      		{
      			cur = next;
      			paths.push(cur);
      			continue;
      		}
      		next = cur;
      		next._row++;//下
      		if (CheckisAccess(a, n, next))
      		{
      			cur = next;
      			paths.push(cur);
      			continue;
      		}
      		next = cur;
      		next._col--;// 左
      		if (CheckisAccess(a, n, next))
      		{
      			cur = next;
      			paths.push(cur);
      			continue;
      		}
      		next = cur;
      		paths.pop();     //如果遇到不通(在此即四個方向都不為0)然后,讓棧中保存
      	}                              的坐標pop(即往回倒)重復試探四個方向 直到找到另一
      	
      	return false;                   條可通路徑;
      }
      void display(int* a, int n)    //打印
      {
      	for (int i = 0; i < n; i++)
      	{
      		for (int j = 0; j < n; j++)
      		{
      			cout << a[i*n + j] << " ";
      		}
      		cout << endl;
      	}
      
      }

      實現(xiàn)簡單的迷宮實現(xiàn)簡單的迷宮

       至此,一個簡單的迷宮就完成了,以上左邊的圖就是開始的迷宮。右邊的圖是結果。最終,每次走過的地方都被標志成2.

      創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。


      網(wǎng)站題目:實現(xiàn)簡單的迷宮-創(chuàng)新互聯(lián)
      分享URL:http://www.ef60e0e.cn/article/ppdcp.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        杭锦后旗| 郴州市| 长顺县| 杭锦后旗| 兴海县| 朝阳县| 中山市| 吴忠市| 丁青县| 连山| 营口市| 沧州市| 永善县| 古交市| 小金县| 淄博市| 东乡县| 桐乡市| 巴青县| 无棣县| 辽阳市| 城市| 循化| 教育| 京山县| 额济纳旗| 华坪县| 云林县| 谷城县| 博爱县| 阿城市| 海原县| 营口市| 清徐县| 珲春市| 东山县| 措勤县| 桃源县| 耒阳市| 景德镇市| 邢台县|